﻿!function () {
    function e() {
        var e = "CsD5z3NijK9maUv6".split("");
        this.d = function (t) {
            if (null == t || void 0 == t) return t;
            if (0 != t.length % 2) throw Error("1100");
            for (var i = [], n = 0; n < t.length; n++) {
                0 == n % 2 && i.push("%");
                for (var s = e, r = 0; r < s.length; r++) if (t.charAt(n) == s[r]) {
                    i.push(r.toString(16));
                    break
                }
            }
            return decodeURIComponent(i.join(""))
        }
    }

    var t = (new e).d, i = (new e).d, n = (new e).d, s = (new e).d, r = (new e).d;
    !function () {
        function e(e) {
            if (null == e) return null;
            for (var t = [], i = 0, n = e.length; i < n; i++) {
                var s = e[i];
                t[i] = Y[16 * (s >>> 4 & 15) + (15 & s)]
            }
            return t
        }

        function a(e) {
            var t = [];
            if (null == e || void 0 == e || 0 == e.length) return _();
            if (64 <= e.length) {
                t = [];
                if (null != e && 0 != e.length) {
                    if (64 > e.length) throw Error(s("5s5C5C55"));
                    for (var i = 0; 64 > i; i++) t[i] = e[0 + i]
                }
                return t
            }
            for (i = 0; 64 > i; i++) t[i] = e[i % e.length];
            return t
        }

        function o(e) {
            var t = 4294967295;
            if (null != e) for (var i = 0; i < e.length; i++) t = t >>> 8 ^ Z[255 & (t ^ e[i])];
            e = f(4294967295 ^ t);
            t = e.length;
            if (null == e || 0 > t) e = String(s("")); else {
                for (var i = [], n = 0; n < t; n++) i.push(u(e[n]));
                e = i.join(r(""))
            }
            return e
        }

        function c(e, a, o) {
            var c,
                _ = [r("zv"), i("ii"), n("5i"), r("5z"), n("zm"), t("5N"), i("zi"), n("3D"), t("53"), t("3i"), n("z9"), t("iz"), i("5s"), n("3N"), n("39"), i("35"), t("55"), n("5j"), r("z6"), t("i3"), r("3z"), t("Na"), r("i5"), s("Ni"), n("zK"), i("Nm"), s("N3"), n("N5"), i("Dm"), i("zU"), n("zs"), i("5K"), s("NK"), s("Nv"), n("zD"), n("3a"), r("3s"), s("zz"), s("33"), i("iC"), n("z3"), t("is"), i("ND"), t("N9"), i("iK"), s("3C"), n("3j"), n("Nz"), t("Nj"), n("5D"), s("3K"), t("ij"), i("N6"), r("5C"), r("za"), n("iD"), i("D6"), i("Ns"), s("zj"), t("NU"), i("zN"), s("NN"), r("i9"), t("iN")],
                d = t("z5"), f = [];
            if (1 == o) o = e[a], c = 0, f.push(_[o >>> 2 & 63]), f.push(_[(o << 4 & 48) + (c >>> 4 & 15)]), f.push(d), f.push(d); else if (2 == o) o = e[a], c = e[a + 1], e = 0, f.push(_[o >>> 2 & 63]), f.push(_[(o << 4 & 48) + (c >>> 4 & 15)]), f.push(_[(c << 2 & 60) + (e >>> 6 & 3)]), f.push(d); else if (3 == o) o = e[a], c = e[a + 1], e = e[a + 2], f.push(_[o >>> 2 & 63]), f.push(_[(o << 4 & 48) + (c >>> 4 & 15)]), f.push(_[(c << 2 & 60) + (e >>> 6 & 3)]), f.push(_[63 & e]); else throw Error(s("5s5C5s5C"));
            return f.join(n(""))
        }

        function _() {
            for (var e = [], t = 0; 64 > t; t++) e[t] = 0;
            return e
        }

        function d(e, t, i, n) {
            if (null != e && 0 != e.length) {
                if (null == t) throw Error(r("5s5C5C5z"));
                if (e.length < n) throw Error(s("5s5C5C55"));
                for (var a = 0; a < n; a++) t[i + a] = e[0 + a]
            }
        }

        function f(e) {
            var t = [];
            t[0] = e >>> 24 & 255;
            t[1] = e >>> 16 & 255;
            t[2] = e >>> 8 & 255;
            t[3] = 255 & e;
            return t
        }

        function h(e) {
            if (null == e || void 0 == e) return e;
            e = encodeURIComponent(e);
            for (var t = [], r = e.length, a = 0; a < r; a++) if (e.charAt(a) == n("D3")) if (a + 2 < r) t.push(l(e.charAt(++a) + i("") + e.charAt(++a))[0]); else throw Error(s("5s5C5C5K")); else t.push(e.charCodeAt(a));
            return t
        }

        function l(e) {
            if (null == e || 0 == e.length) return [];
            e = String(e);
            for (var t = [], i = e.length / 2, n = 0, s = 0; s < i; s++) {
                var r = parseInt(e.charAt(n++), 16) << 4, a = parseInt(e.charAt(n++), 16);
                t[s] = g(r + a)
            }
            return t
        }

        function u(e) {
            var t = [];
            t.push(Q[e >>> 4 & 15]);
            t.push(Q[15 & e]);
            return t.join(r(""))
        }

        function p(e, t) {
            if (null == e || null == t || e.length != t.length) return e;
            for (var i = [], n = 0, s = e.length; n < s; n++) i[n] = m(e[n], t[n]);
            return i
        }

        function m(e, t) {
            e = g(e);
            t = g(t);
            return g(e ^ t)
        }

        function v(e, t) {
            return g(e + t)
        }

        function g(e) {
            if (-128 > e) return g(128 - (-128 - e));
            if (-128 <= e && 127 >= e) return e;
            if (127 < e) return g(-129 + e - 127);
            throw Error(i("5s5C5C5s"))
        }

        function b(e) {
            function a() {
                for (var e = [s("zsNDNsNzNKDCzU3zDCz5N6NvNzN3Nvi5N3NzDCzaNKNiNjiz"), s("zsNzN6NDN3DCzNNsNvNii5N6NvNiDC35izNz"), n("zsNzN6NDN3DCzjN3NDiDN3ii"), s("zsNzN6NDN3DCzUNKNvNiDC35izNz"), s("zsNiN3NvN5iKDCzNzD"), n("zsiDNsND"), n("zsiDNsNDNKN5DC3ziKiCN3i5N3izizNKNvNi"), r("zsiDNKNsNaDCzDNaNsN5Nm"), r("zDNsizNsNvNi"), i("zDNsi3NjNsi3i5DC5K55"), n("zDN3NaNaDCzU3z"), i("zDNKizi5iziDN3NsNUDC3NN3iDNsDC35N3iDNKNN"), i("zDN6NzN6NvNKDCzU3z"), t("zDN6N6NmNUNsNvDCz6NaNzDC35iziKNaN3"), s("zDiDNsNiNiNsNzN6N5NKN6"), s("zDiDN6NsNziiNsiK"), s("z5NsNaNKNDiDNK"), r("z5NsNaNKNNN6iDNvNKNsNvDCzNzD"), t("z5Nsi5izN3NaNaNsiD"), i("z5Nsi5i3NsNa"), n("z5N3NvizNsi3iD"), r("z5N3Nvizi3iDiKDCziN6izNjNKN5"), n("z5NjNsNaNmNzi3i5izN3iD"), s("z5N6NaN6NvNvNsDCzU3z"), s("z5N6iCiCN3iDiCNaNsizN3DCziN6izNjNKN5DCzaNKNiNjiz"), s("zzN3N9Ns3Ni3DCzaziz5DC35NsNvi5DCzUN6NvN6"), r("zzN3i5NzN3NUN6NvNs"), s("zzzNzmNsNKDU35zD"), t("zzN6izi3NU"), t("z3NvNiiDNsiNN3iDi5DCzU3z"), n("z3iDNsi5DCzDN6NaNzDCzK3zz5"), t("z3i3iDN6i5izNKNaN3"), n("zNNsNvNi35N6NvNi"), t("zNN6iDizN3"), i("zNiDNsNvNmNaNKNvDCziN6izNjNKN5DCzjN3NsiNiK"), i("zNiDN3NvN5NjDC35N5iDNKiCizDCzU3z"), t("ziNsNDiDNKN6NaNs"), r("ziNKNiNK"), t("ziNKi5NjNs"), i("ziN6i3NziKDCz6NaNzDC35iziKNaN3"), n("zii3NaNKNU"), n("zii3NvNi35N3N6"), r("zjNsN3izizN3Nvi5N5NjiiN3NKNaN3iD"), s("zjNsiDiDNKNvNiizN6Nv"), s("zjNKiDNsNiNKNvN6DC35NsNvi5DCzizD"), r("zKNUiCNsN5iz"), t("zKNvNNN6iDNUNsNaDC3DN6NUNsNv"), s("zmNsN5i5izz6NvN3"), n("zmNKNvN6DCzU3z"), r("zmN6i9i3NmNsDCziN6izNjNKN5DC3CiD5Nzv"), t("zaN6NjNKizDCzii3N9NsiDNsizNK"), s("zaN6NUNs"), s("zai3N5NKNzNsDCzDiDNKNiNjiz"), n("zai3N5NKNzNsDCzNNsij"), s("zUNsNiNvN3izN6"), i("zUNsNaNii3NvDCziN6izNjNKN5"), i("zUNsizi3iDNsDCzU3zDC35N5iDNKiCizDCz5NsiCNKizNsNai5"), t("zUN3NvNaN6"), r("zUNKNvNizaNK33DUz3ijizzD"), i("zUN6N6NazDN6iDNsNv"), s("zU35DC3CzUNKNvN5NjN6"), t("zU35DC3DN3NNN3iDN3NvN5N3DC35NsNvi5DC35N3iDNKNN"), i("zvN3iii5DCziN6izNjNKN5DCzU3z"), n("zvNKNsNiNsiDNsDC35N6NaNKNz"), t("zviKNsNaNs"), r("3CNsNaNsN5N3DC35N5iDNKiCizDCzU3z"), n("3CNsiCiKiDi3i5"), n("3CN3iDiCN3izi3Ns"), t("3CNaNsiKNDNKNaNa"), n("3CzUNKNvNizaNK33"), r("3DNsN5NjNsNvNs"), n("3DN6N5NmiiN3NaNa"), n("35NsiiNsi5NzN3N3"), i("35N5iDNKiCizDCzU3zDCzDN6NaNz"), i("35N3NiN6N3DC3CiDNKNviz"), n("35NjN6iiN5NsiDNzDCziN6izNjNKN5"), i("35NKNUzjN3NK"), t("35NvNsiCDCzK3zz5"), r("3zNaiiNizUN6NvN6"), s("3ziiDCz5N3NvDCzU3zDCz5N6NvNzN3Nvi5N3NzDCz3ijiziDNsDCzDN6NaNz"), t("33NDi3Nvizi3"), r("33NUiCi3i5Nj"), t("33NvNKiNN3iDi5"), n("33izN6iCNKNs"), r("3NNaNsNzNKNUNKiDDC35N5iDNKiCiz"), r("3iNKNzN3DCzaNsizNKNv"), n("vzmmm6v39vjm"), n("v3jUjvvNKNjivzmj9Uv39vjm"), s("v3jUjvvNKNjivzmmm6v39vjm"), s("v3jUjvvNKNjiv39vjmvzmUK5"), t("v3jUjvvNKNjiv3mU9Kvzm9Ks"), t("v3jUjvvNKNjivNKNmCvK9Uj6"), s("v3jUjvvNKNjivN93mivzmUK5"), i("v3jUjvvNKNjiviKC93vij6jC"), n("v3jUjvvNKNjivimmjNvKmmKs"), t("v3jUjvvNKNjivj9sjavN93mi"), s("v3jUjvvNKNjivKK9mNvzmK9N"), s("v39vjmvzmUK5"), r("v3mKmav3KajN"), s("v3mv9vvjmU96vKKmj3vKmmKs"), n("vNKNmCv39vjmvzmUK5"), t("vNKNmKvN9U95v39iK9vzmUK5"), n("vNKNmKvN9U95vjjjKDvzmUK5"), i("vN93mivzmUK5"), n("vKK9mNvzmK9N"), r("vKmmKsvzmUK5"), i("vNKNmCvimmjNvNKjjvvzmUK5"), s("vimmjNvNKjjvvzmUK5"), s("vN9CjivN93mivzmUK5"), i("vzmmm6v39vjm36zizD5D555s5D"), s("vN93mivzmUK536zizD5D555s5D"), i("v3mv9vvjmU96vN9U95vKmmKsvzmUK5"), r("v3jUjvvNKNjivKmmKsvzmUK5"), n("vzmjmUvKmmKsDC3CiDN6"), s("vzmjmUv39vjmDC3CiDN6"), t("vjjmmKvNKvKavzmjmUvzmj9UvKmmKs"), r("vjjmmKvNKvKavzmjmUvimmjNv39vjm")], a = [], c = 0; c < e.length; c++) try {
                    var _ = e[c];
                    o()(_) && a.push(_)
                } catch (d) {
                    s("NNN6NvizDCNzN3izN3N5izDCN3iDiDN6iD")
                }
                return a.join(t("5m"))
            }

            function o() {
                function e(e) {
                    var t = {};
                    return d.style.fontFamily = e, _.appendChild(d), t.height = d.offsetHeight, t.width = d.offsetWidth, _.removeChild(d), t
                }

                var s = [i("NUN6NvN6i5iCNsN5N3"), r("i5NsNvi5DUi5N3iDNKNN"), r("i5N3iDNKNN")], a = [],
                    o = i("iiiiiiNUNUNUNUNUNUNUNUNUNUNaNaNK"), c = t("5i5DiCij"), _ = H.body,
                    d = H.createElement(n("i5iCNsNv"));
                d.style.fontSize = c;
                d.style.visibility = r("NjNKNzNzN3Nv");
                d.innerHTML = o;
                for (o = 0; o < s.length; o++) a[o] = e(s[o]);
                return function (t) {
                    for (var i = 0; i < a.length; i++) {
                        var r = e(t + n("Da") + s[i]), o = a[i];
                        if (r.height !== o.height || r.width !== o.width) return !0
                    }
                    return !1
                }
            }

            function c() {
                var e = null, r = null, a = [];
                try {
                    r = H.createElement(t("N5NsNviNNsi5")), e = r[s("NiN3izz5N6NvizN3ijiz")](i("iiN3NDNiNa")) || r[i("NiN3izz5N6NvizN3ijiz")](n("N3ijiCN3iDNKNUN3NvizNsNaDUiiN3NDNiNa"))
                } catch (o) {
                }
                if (!e) return a;
                try {
                    a.push(e.getSupportedExtensions())
                } catch (c) {
                }
                try {
                    a.push(_(e, r))
                } catch (d) {
                }
                return a.join(t("5m"))
            }

            function _(e, t) {
                try {
                    var i = n("NsiziziDNKNDi3izN3DCiNN3N55DDCNsiziziD3NN3iDizN3ij5mDCiNNsiDiKNKNvNiDCiNN3N55DDCiNNsiDiKNKNv3zN3ijz5N6N6iDNzNKNvNsizN35mDCi3NvNKNNN6iDNUDCiNN3N55DDCi3NvNKNNN6iDNUz6NNNNi5N3iz5mDCiNN6NKNzDCNUNsNKNvDjDKDCimDCDCDCiNNsiDiKNKNv3zN3ijz5N6N6iDNzNKNvNsizN3DC5UDCNsiziziD3NN3iDizN3ijDCDmDCi3NvNKNNN6iDNUz6NNNNi5N3iz5mDCDCDCNiNa363CN6i5NKizNKN6NvDC5UDCiNN3N55zDjNsiziziD3NN3iDizN3ijDaDC5CDaDC5sDK5mDCiU"),
                        a = r("iCiDN3N5NKi5NKN6NvDCNUN3NzNKi3NUiCDCNNNaN6Nsiz5mDCiNNsiDiKNKNvNiDCiNN3N55DDCiNNsiDiKNKNv3zN3ijz5N6N6iDNzNKNvNsizN35mDCiNN6NKNzDCNUNsNKNvDjDKDCimDCDCDCNiNa36zNiDNsNiz5N6NaN6iDDC5UDCiNN3N55zDjiNNsiDiKNKNv3zN3ijz5N6N6iDNzNKNvNsizN3DaDC5CDaDC5sDK5mDCiU"),
                        o = e.createBuffer();
                    e.bindBuffer(e.ARRAY_BUFFER, o);
                    var c = new Float32Array([-.2, -.9, 0, .4, -.26, 0, 0, .732134444, 0]);
                    e.bufferData(e.ARRAY_BUFFER, c, e.STATIC_DRAW);
                    o.k = 3;
                    o.l = 3;
                    var _ = e.createProgram(), d = e.createShader(e.VERTEX_SHADER);
                    e.shaderSource(d, i);
                    e.compileShader(d);
                    var f = e.createShader(e.FRAGMENT_SHADER);
                    return e.shaderSource(f, a), e.compileShader(f), e.attachShader(_, d), e.attachShader(_, f), e.linkProgram(_), e.useProgram(_), _.n = e.getAttribLocation(_, s("NsiziziD3NN3iDizN3ij")), _.m = e.getUniformLocation(_, s("i3NvNKNNN6iDNUz6NNNNi5N3iz")), e.enableVertexAttribArray(_.o), e.vertexAttribPointer(_.n, o.k, e.FLOAT, !1, 0, 0), e.uniform2f(_.m, 1, 1), e.drawArrays(e.TRIANGLE_STRIP, 0, o.l), $(t[r("izN6zzNsizNs333Dza")]())
                } catch (h) {
                    return s("iiN3NDNiNaDCN3ijN5N3iCizNKN6Nv")
                }
            }

            function d() {
                var e = H.createElement(n("NzNKiN")), a = [],
                    o = [r("zsN5izNKiNN3zDN6iDNzN3iD"), n("zsN5izNKiNN3z5NsiCizNKN6Nv"), i("zsiCiC3iN6iDNmi5iCNsN5N3"), t("zDNsN5NmNiiDN6i3NvNz"), i("zDi3izizN6NvzNNsN5N3"), i("zDi3izizN6NvzjNKNiNjNaNKNiNjiz"), t("zDi3izizN6Nv35NjNsNzN6ii"), i("zDi3izizN6Nv3zN3ijiz"), s("z5NsiCizNKN6Nv3zN3ijiz"), i("ziiDNsiK3zN3ijiz"), t("zjNKNiNjNaNKNiNjiz"), r("zjNKNiNjNaNKNiNjiz3zN3ijiz"), r("zKNvNsN5izNKiNN3zDN6iDNzN3iD"), t("zKNvNsN5izNKiNN3z5NsiCizNKN6Nv"), s("zKNvNsN5izNKiNN3z5NsiCizNKN6Nv3zN3ijiz"), r("zKNvNNN6zDNsN5NmNiiDN6i3NvNz"), r("zKNvNNN63zN3ijiz"), t("zUN3Nvi3"), t("zUN3Nvi33zN3ijiz"), i("35N5iDN6NaNaNDNsiD"), t("3zNjiDN3N3zzzzNsiDNm35NjNsNzN6ii"), r("3zNjiDN3N3zzzNNsN5N3"), n("3zNjiDN3N3zzzjNKNiNjNaNKNiNjiz"), i("3zNjiDN3N3zzzaNKNiNjiz35NjNsNzN6ii"), t("3zNjiDN3N3zz35NjNsNzN6ii"), r("3iNKNvNzN6ii"), n("3iNKNvNzN6iizNiDNsNUN3"), t("3iNKNvNzN6ii3zN3ijiz")];
                if (!window[n("NiN3izz5N6NUiCi3izN3Nz35iziKNaN3")]) return a.join(t(""));
                for (var c = 0; c < o.length; c++) try {
                    H.body.appendChild(e), e.style.color = o[c], a.push(o[c]), a.push(window[s("NiN3izz5N6NUiCi3izN3Nz35iziKNaN3")](e).getPropertyValue(s("N5N6NaN6iD"))),
                        H.body.removeChild(e)
                } catch (_) {
                    a.push(r("NiN3izDCi5iKi5izN3NUDCN5N6NaN6iDi5DCN3ijN5N3iCizNKN6Nv"))
                }
                return a.join(s("59"))
            }

            function f() {
                try {
                    var e = H.createElement(s("N5NsNviNNsi5")), a = e[r("NiN3izz5N6NvizN3ijiz")](i("5DNz")),
                        o = t("NUiiz5DCNvNmNDNsNNN9N6iDNzDCiCNji5NiNaiKDCN3ijiNizDCi9isNKi3DaDCvsmU9CDCiziCNji5izD659D6i3NjNDNiizNKN5DvNUN6D6NaN3iNiNNs");
                    a.textBaseline = t("izN6iC");
                    a.font = i("5i5CiCijDCDizsiDNKNsNaDi");
                    a.textBaseline = s("NsNaiCNjNsNDN3izNKN5");
                    a.fillStyle = s("D5NN5N5C");
                    a.fillRect(125, 1, 62, 20);
                    a.fillStyle = t("D55C5N5K");
                    a.fillText(o, 2, 15);
                    a.fillStyle = i("iDNiNDNsDj5s5C5DDaDC5D5C5zDaDC5CDaDC5CDv5iDK");
                    a.fillText(o, 4, 17);
                    return e[n("izN6zzNsizNs333Dza")]()
                } catch (c) {
                    return s("N5NsNviNNsi5DCNsiCNKDCN3ijN5N3iCizNKN6Nv")
                }
            }

            function h() {
                try {
                    return window[s("zsN5izNKiNN33jz6NDN9N3N5iz")] && A.h ? u() : l()
                } catch (e) {
                    return i("NiN3izDCiCNai3NiNKNvDCi5iziDNKNvNiDCN3ijN5N3iCizNKN6Nv")
                }
            }

            function l() {
                if (!V[n("iCNai3NiNKNvi5")]) return i("");
                var e = [r("5zNiNsNUN3"), r("zsNzNDNaN6N5Nm3CNai3NiNKNv"), n("zsNzN6NDN3z3ijzUNsNvz5z5zzN3izN3N5iz"), t("zsNzN6NDN3z3ijzUNsNvzzN3izN3N5iz"), t("zsNaNsiiNsiDDCzv3Czs3CzKDCi3izNKNai5"), n("zsNaNKN3NzNKizDC3CNai3NiDUzKNv"), t("zsNaNKiCNsiKDC35N3N5i3iDNKiziKDCz5N6NviziDN6NaDC55"), r("zsNaNK3535z6zaN6NiNKNvDCiCNai3NiNKNv"), s("zsNUNsi9N6NvzU3C55zzN6iiNvNaN6NsNzN3iD3CNai3NiNKNv"), s("zsz6zaDCzUN3NzNKNsDC3CNaNsiKNDNsN5NmDC3CNai3NiNKNv"), s("zsiCiC33iC"), t("zsiDN5NjNKz5zszz"), s("zs3NziDC35NKizN335NsNNN3iziKDCiCNai3NiNKNv"), i("zDNsNDiKNaN6NvDC3zN6N6NazDNsiD"), s("zDNsizizNaN3NaN6NiDCziNsNUN3DCzaNsi3NvN5NjN3iD"), n("zDNKizz5N6NUN3izzsNiN3Nviz"), n("zDNKizNzN3NNN3NvNzN3iDDC3si3NKN5Nm35N5NsNv"), i("zDNai3N335izNsN5Nmi5DCzKNvi5izNsNaNaDCzzN3izN3N5izN6iD"), t("z5NsizNsNaNKNvNsziiDN6i3iCDC33iCNzNsizN3"), t("z5NKiziDNKijDCzKz5zsDCz5NaNKN3Nviz"), i("z5NKiziDNKijDCN6NvNaNKNvN3DCiCNai3NiDUNKNv"), r("z5NKiziDNKijDC3DN3N5N3NKiNN3iDDC3CNai3NiDUNKNv"), r("z5N6N6iiN6NvDC33iCNzNsizN3"), t("zzN3NsNa3CNaiKzaNKiNN3DC33iCNzNsizN3"), t("zzN3NNNsi3NaizDCzDiDN6iii5N3iDDCzjN3NaiCN3iD"), r("zzNKiN3jDCzDiDN6iii5N3iDDC3CNai3NiDUzKNv"), i("zzNKiN3jDC3CNai3i5DC3iN3NDDC3CNaNsiKN3iD"), s("zzNKiN3jDC3Nz6zzDCzjN3NaiCN3iDDC3CNai3NiDUNKNv"), i("NzN6i3NDNaN33ziiNKi5izDC3iN3NDDC3CNai3NiNKNv"), t("zzN6iiNvNaN6NsNzN3iDi5DCiCNai3NiNKNv"), i("NzN6iiNvNaN6NsNz33iCNzNsizN3iD"), n("N3zUi3i5NKN53CNai3NiNKNvDCzzzazU5N"), r("z335zvDCzaNsi3NvN5NjDCzUN6i9NKNaNaNsDC3CNai3NiNKNv"), i("z335zvDC35N6NvNsiDDCzs3CzK"), n("z3ijNKNNDCz3iNN3iDiKiiNjN3iDN3"), r("zNNsN5N3NDN6N6NmDC3CNai3NiNKNv"), r("zNNKNaN3DCzzN6iiNvNaN6NsNzN3iDDC3CNai3NiDUNKNv"), s("zNNKNaN3zaNsNDDCiCNai3NiNKNv"), i("zNNaiKz6iDzzNKN3DCziNsNUN3i5DC3CNai3NiNKNv"), t("zNN6NaijDC55DCzDiDN6iii5N3iDDC3CNai3NiNKNv"), t("zN3339z335NjNsiDN3"), r("zizzzaDCz6NDN9N3N5izDC3iN3NDDC3CNai3NiDUNKNvDC5s5NDv5C5C"), r("zizNzsz5z3DC3CNai3NiNKNv"), r("ziNKNvNiN3iD"), s("ziNvN6NUN3DC35NjN3NaNaDCzKNvizN3NiiDNsizNKN6Nv"), t("ziN6N6NiNaN3DCz3NsiDizNjDC3CNai3NiNKNv"), r("ziN6N6NiNaN3DCz3NsiDizNjDC3CNai3NiDUNKNv"), i("ziN6N6NiNaN3DCziN3NsiDi5DC5CDv53Dv5555Dv5C"), r("ziN6N6NiNaN3DC3zNsNaNmDCz3NNNNN3N5izi5DC3CNai3NiNKNv"), i("ziN6N6NiNaN3DC33iCNzNsizN3"), t("zjNsiDNUN6NviKDCzNNKiDN3NNN6ijDC3CNai3NiNKNv"), n("zjNsiDNUN6NviKDC3CNai3NiDUzKNv"), n("zjN3iDN6N3i5DCDNDCziN3NvN3iDNsNai5DCNaNKiNN3"), i("zj3CzzN3izN3N5iz"), i("zjizNUNa53DCNaN6N5NsizNKN6NvDCiCiDN6iNNKNzN3iD"), i("zKz3DC3zNsNDDCiCNai3NiNKNv"), i("NKziN3izizN3iD35N5iDNKiCizNsNDNaN33CNai3NiNKNv"), t("NKzUN3i5NjDCiCNai3NiNKNv"), i("zmNsi5iCN3iDi5NmiKDC3CNsi5i5iiN6iDNzDCzUNsNvNsNiN3iD"), s("zaNsi5iz3CNsi5i5"), t("zaN6NizUN3zKNvDC3CNai3NiNKNvDC5sDv5CDv5CDv5K5553"), r("zaN6NizUN3zKNvDC3CNai3NiNKNvDC5sDv5CDv5CDv5K5N5s"), i("zUNsDUz5N6NvNNNKNiDvN5N6NUDCiCNai3NiNKNv"), s("zUNKN5iDN6i5N6NNizDCz6NNNNNKN5N3DC5D5C5s55"), n("zUNKNvNKNDNsiD3CNai3NiNKNv"), i("zvNsizNKiNN3DCz5NaNKN3Nviz"), t("zvNKiziDN6DC3CzzzNDC3CNai3NiDUzKNv"), i("zvN6NmNKNsDC35i3NKizN3DCz3NvNsNDNaN3iDDC3CNai3NiNKNv"), s("zvN6iDizN6NvDCzKNzN3NvizNKiziKDC35NsNNN3"), t("NviCzs3CzKDC3CNai3NiNKNv"), i("zv3CzaNsi5iz3CNsi5i5"), t("zv3C3CNaNsiKN3iD35NjN3NaNa"), t("NviC3zN6NvNiNDi3zsNzNzNKNv"), t("zviKijzaNsi3NvN5NjN3iD"), n("z6N5izN6i5NjNsiCN3DC35iziDN3NsNUNKNvNiDC35N3iDiNNKN5N3i5"), s("z6NvNaNKNvN3DC35izN6iDNsNiN3DCiCNai3NiDUNKNv"), i("z6iDNDNKizDCzzN6iiNvNaN6NsNzN3iD"), s("3CNsNvNzN6DC3iN3NDDC3CNai3NiNKNv"), n("3CNsiDN6NUDv3z3NDCiCNaNsiKN3iDDCiCNai3NiNKNv"), r("3CzzzNDCNKNvizN3NiiDNsNzN6DCNzN6DC3iN3NDzmNKiz"), s("3CzzzNDU3jz5NjNsNvNiN3DC3NNKN3iiN3iD"), s("3CNjN6izN6z5N3NvizN3iD3CNai3NiNKNv5sDv5sDv5DDv5D"), r("3CNKN5Nsi5Ns"), i("3CNaNsiKz6NvDC3CNai3NiDUNKNv"), t("3s3s5D5C5s55DCzNNKiDN3NNN6ijDC3CNai3NiNKNv"), n("3s3szzN6iiNvNaN6NsNzDC3CNai3NiNKNv"), t("3s3szUNKNvNKzzzaDC3CNai3NiNKNv"), t("3s3szUi3i5NKN5"), s("3DN3NsNazzN6iiNvNaN6NsNzN3iDDC3CNai3NiNKNv"), n("3DN6NDNaN6ijDCzaNsi3NvN5NjN3iDDC3CNai3NiNKNv"), r("3DN6N5NmzUN3NaizDC33iCNzNsizN3"), t("35NsNNN3iDDC33iCNzNsizN3"), n("35NsNNN335N3NsiDN5Nj"), i("35N5iDNKiCizNKNvNiDvzzNKN5izNKN6NvNsiDiK"), n("35N3NNz5NaNKN3NvizDC3CNai3NiNKNv"), i("35NjN3NaNaDv33zKzjN3NaiCN3iD"), n("35NKNaiNN3iDNaNKNiNjizDC3CNai3NiDUzKNv"), i("35NKNUiCNaN3DC3CNsi5i5"), n("35NmiKiCN3DC3iN3NDDC3CNai3NiNKNv"), t("35i3NUNsiziDNs3CzzzNDCzDiDN6iii5N3iDDC3CNai3NiNKNv"), i("35iKNUNsNvizN3N5DC3CzmzKDCz5NaNKN3Nviz"), i("3zN3NvN5N3NvizDCzN3zzvDCiCNai3NiDUNKNv"), t("3zNji3NvNzN3iDDCzzNsiCz5iziDNaDCzv3Czs3CzKDC3CNai3NiNKNv"), t("3zN6iDN5NjzjN3NaiCN3iD"), r("33NvNKiziKDC3CNaNsiKN3iD"), s("33iCNaNsiKDC3Cz5"), s("3NzzN6iiNvNaN6NsNzN3iD"), s("3NN3N3izNaN3DC3z3NDCz5N6iDN3"), i("3Nzaz5DCzUi3NaizNKNUN3NzNKNsDC3CNai3NiNKNv"), s("3iN3NDDCz5N6NUiCN6NvN3Nvizi5"), i("3iN3NDzmNKizDUNKNvizN3NiiDNKN3iDizN3DC3CzzzN"), i("3iz3zD39z3zvDCzDiDN6iii5N3iDDCz3ijizN3Nvi5NKN6Nv"), n("3iN6NaNNiDNsNUDCzUNsizNjN3NUNsizNKN5Ns"), i("3iN6iDNzz5NsiCizi3iDN33j"), t("3i3CzKDCzzN3izN3N5izN6iDDC5sDv5z"), t("3KNsNvNzN3ijDCzUN3NzNKNsDC3CNai3NiNKNv"), t("3KNsNvNzN3ijDC3CzzzNDC3NNKN3iiN3iD"), r("3KN6i33zi3NDN3DC3CNai3NiDUNKNv"), n("i9NsNmN6")],
                    a = [], o = {};
                a.push(v(V[r("iCNai3NiNKNvi5")], function (e) {
                    o[e.name] = 1;
                    var n = v(e, function (e) {
                        return [e.type, e.suffixes].join(i("iv"))
                    }).join(s("Da"));
                    return [e.name, e.description, n].join(t("5959"))
                }, this).join(s("Dz")));
                a.push(v(e, function (e) {
                    if (o[e]) return r("");
                    e = V[t("iCNai3NiNKNvi5")][e];
                    if (!e) return s("");
                    var i = v(e, function (e) {
                        return [e.type, e.suffixes].join(t("iv"))
                    }).join(s("Da"));
                    return [e.name, e.description, i].join(n("5959"))
                }, this).join(n("5m")));
                return a.join(r("5m"))
            }

            function u() {
                if (window[i("zsN5izNKiNN33jz6NDN9N3N5iz")]) {
                    var e = [i("zsN5iDN63CzzzNDv3CzzzN"), n("zsNzN6NzNDDv35iziDN3NsNU"), n("zsNiz5N6NviziDN6NaDvzsNiz5N6NviziDN6Na"), r("zzN3iNNsNa3N3D3jz5iziDNaDvzzN3iNNsNa3N3D3jz5iziDNaDv5s"), i("zUNsN5iDN6NUN3NzNKNszNNaNsi5Nj3CNsiCN3iDDvzUNsN5iDN6NUN3NzNKNszNNaNsi5Nj3CNsiCN3iD"), n("zUi5ijNUNa5DDvzzz6zUzzN6N5i3NUN3Nviz"), r("zUi5ijNUNa5DDv3jzUzazj3z3z3C"), t("3CzzzNDv3CNzNNz5iziDNa"), n("3si3NKN5Nm3zNKNUN3Dv3si3NKN5Nm3zNKNUN3"), n("3si3NKN5Nm3zNKNUN3z5NjN3N5Nmz6NDN9N3N5izDv3si3NKN5Nm3zNKNUN3z5NjN3N5NmDv5s"), n("iDNUN6N5ijDv3DN3NsNa3CNaNsiKN3iDDCzi5DDCz5N6NviziDN6Na"), n("iDNUN6N5ijDv3DN3NsNa3CNaNsiKN3iDDCzi5DDCz5N6NviziDN6NaDv5s"), t("3DN3NsNa3CNaNsiKN3iD"), s("3DN3NsNa3CNaNsiKN3iDDv3DN3NsNa3CNaNsiKN3iDDjizNUDKDCzsN5izNKiNN33jDCz5N6NviziDN6NaDCDj555DDUNDNKizDK"), r("3DN3NsNa3NNKNzN3N6Dv3DN3NsNa3NNKNzN3N6DjizNUDKDCzsN5izNKiNN33jDCz5N6NviziDN6NaDCDj555DDUNDNKizDK"), s("iDNUN6N5ijDv3DN3NsNa3CNaNsiKN3iDDCzi5DDCz5N6NviziDN6Na"), t("35N5iDNKiCizNKNvNiDvzzNKN5izNKN6NvNsiDiK"), s("35NjN3NaNaDv33zKzjN3NaiCN3iD"), r("35NjN6N5NmiiNsiNN3zNNaNsi5NjDv35NjN6N5NmiiNsiNN3zNNaNsi5Nj"), s("353iz5izNaDv353iz5izNa"), n("35NmiKiCN3DvzzN3izN3N5izNKN6Nv"), s("3zzzz5z5izNaDv3zzzz5z5izNa"), r("3izU3CNaNsiKN3iDDvz6z53j")];
                    return v(e, function (e) {
                        try {
                            return new (window[n("zsN5izNKiNN33jz6NDN9N3N5iz")])(e), e
                        } catch (t) {
                            return null
                        }
                    }).join(i("5m"))
                }
                return i("")
            }

            function p() {
                try {
                    return !!window[i("i5N3i5i5NKN6Nv35izN6iDNsNiN3")]
                } catch (e) {
                    return !0
                }
            }

            function m() {
                try {
                    return !!window[r("NaN6N5NsNa35izN6iDNsNiN3")]
                } catch (e) {
                    return !0
                }
            }

            function v(e, t, i) {
                var n = [];
                if (null == e) return n;
                if (N && e.map === N) return e.map(t, i);
                g(e, function (e, s, r) {
                    n[n.length] = t.call(i, e, s, r)
                });
                return n
            }

            function g(e, t) {
                if (null !== e) if (b && e.forEach === b) e.forEach(t, void 0); else if (e.length === +e.length) for (var i = 0, n = e.length; i < n && t.call(void 0, e[i], i, e) !== {}; i++) ; else for (i in e) if (e.hasOwnProperty(i) && t.call(void 0, e[i], i, e) === {}) break
            }

            var b = Array.prototype.forEach, N = Array.prototype.map, A = {e: $, j: !0, i: !0, h: !0, b: !0, a: !0};
            typeof e == r("NNi3NvN5izNKN6Nv") ? A.e = e : (null != e.b && void 0 != e.b && (A.b = e.b), null != e.a && void 0 != e.a && (A.a = e.a));
            this.get = function () {
                var e = [], o = [];
                if (G) {
                    e.push(p());
                    e.push(m());
                    e.push(!!window[n("NKNvNzN3ijN3NzzzzD")]);
                    H.body ? e.push(typeof H.body[i("NsNzNzzDN3NjNsiNNKN6iD")]) : e.push("undefined");
                    e.push(typeof window[s("N6iCN3NvzzNsizNsNDNsi5N3")]);
                    e.push(V[s("N5iCi3z5NaNsi5i5")]);
                    e.push(V[s("iCNaNsizNNN6iDNU")]);
                    var _;
                    if (_ = A.i) try {
                        var l = H.createElement(r("N5NsNviNNsi5"));
                        _ = !(!l[t("NiN3izz5N6NvizN3ijiz")] || !l[i("NiN3izz5N6NvizN3ijiz")](r("5DNz")))
                    } catch (u) {
                        _ = !1
                    }
                    if (_) try {
                        e.push(f()), A.b && e.push(c())
                    } catch (v) {
                        e.push(t("N5NsNviNNsi5DCN3ijN5N3iCizNKN6Nv"))
                    }
                    e.push(d());
                    A.a && o.push(a());
                    o.push(V[s("i3i5N3iDzsNiN3Nviz")]);
                    o.push(V[i("NaNsNvNii3NsNiN3")]);
                    o.push(window[r("i5N5iDN3N3Nv")][n("N5N6NaN6iDzzN3iCizNj")]);
                    A.j && (_ = window[s("i5N5iDN3N3Nv")] ? [window[n("i5N5iDN3N3Nv")].height, window[t("i5N5iDN3N3Nv")].width] : [0, 0], typeof _ !== t("i3NvNzN3NNNKNvN3Nz") && o.push(_.join(t("ij"))));
                    o.push((new Date)[i("NiN3iz3zNKNUN3i9N6NvN3z6NNNNi5N3iz")]());
                    o.push(V[i("NzN6zvN6iz3ziDNsN5Nm")]);
                    o.push(h())
                }
                _ = [];
                A.e ? (_.push(A.e(e.join(s("D5D5D5")))), _.push(A.e(o.join(t("D5D5D5"))))) : (_.push($(e.join(n("D5D5D5")))), _.push($(o.join(r("D5D5D5")))));
                return _
            }
        }

        function $(e) {
            var a, o, c, _, d;
            a = 3 & e.length;
            o = e.length - a;
            c = 31;
            for (d = 0; d < o;) _ = 255 & e.charCodeAt(d) | (255 & e.charCodeAt(++d)) << 8 | (255 & e.charCodeAt(++d)) << 16 | (255 & e.charCodeAt(++d)) << 24, ++d, _ = 3432918353 * (65535 & _) + ((3432918353 * (_ >>> 16) & 65535) << 16) & 4294967295, _ = _ << 15 | _ >>> 17, _ = 461845907 * (65535 & _) + ((461845907 * (_ >>> 16) & 65535) << 16) & 4294967295, c ^= _, c = c << 13 | c >>> 19, c = 5 * (65535 & c) + ((5 * (c >>> 16) & 65535) << 16) & 4294967295, c = (65535 & c) + 27492 + (((c >>> 16) + 58964 & 65535) << 16);
            _ = 0;
            switch (a) {
                case 3:
                    _ ^= (255 & e.charCodeAt(d + 2)) << 16;
                case 2:
                    _ ^= (255 & e.charCodeAt(d + 1)) << 8;
                case 1:
                    _ ^= 255 & e.charCodeAt(d), _ = 3432918353 * (65535 & _) + ((3432918353 * (_ >>> 16) & 65535) << 16) & 4294967295, _ = _ << 15 | _ >>> 17, c ^= 461845907 * (65535 & _) + ((461845907 * (_ >>> 16) & 65535) << 16) & 4294967295
            }
            c ^= e.length;
            c ^= c >>> 16;
            c = 2246822507 * (65535 & c) + ((2246822507 * (c >>> 16) & 65535) << 16) & 4294967295;
            c ^= c >>> 13;
            c = 3266489909 * (65535 & c) + ((3266489909 * (c >>> 16) & 65535) << 16) & 4294967295;
            e = (c ^ c >>> 16) >>> 0;
            a = [];
            a.push(e);
            try {
                var f, h = e + r("");
                for (c = d = o = 0; c < h.length; c++) try {
                    var l = parseInt(h.charAt(c) + i(""));
                    o = l || 0 === l ? o + l : o + 1;
                    d++
                } catch (u) {
                    o += 1, d++
                }
                f = N(1 * o / (0 == d ? 1 : d));
                var p, m = Math.floor(f / Math.pow(10, 1)), v = e + r("");
                for (c = d = o = l = h = 0; c < v.length; c++) try {
                    var g = parseInt(v.charAt(c) + t(""));
                    g || 0 === g ? g < m ? (l++, h += g) : (d++, o += g) : (d++, o += m)
                } catch (b) {
                    d++, o += m
                }
                d = 0 == d ? 1 : d;
                p = N(1 * o / d - 1 * h / (0 == l ? 1 : l));
                a.push(A(f, r("5C")));
                a.push(A(p, i("5C")))
            } catch ($) {
                a = [], a.push(e), a.push(y(s("DU")).join(r(""))), a.push(y(t("DU")).join(n("")))
            }
            return a.join(r(""))
        }

        function N(e) {
            if (0 > e || 10 <= e) throw Error(s("5s5s5s5C"));
            var t = y(n("5C"));
            e = n("") + e;
            for (var i = 0, a = 0; i < t.length && a < e.length; a++) e.charAt(a) != s("Dv") && (t[i++] = e.charAt(a));
            return parseInt(t.join(r("")))
        }

        function A(e, t) {
            var n = i("") + e;
            if (2 < n.length) throw Error(s("5s5s5s5s"));
            if (2 == n.length) return n;
            for (var r = [], a = n.length; 2 > a; a++) r.push(t);
            r.push(n);
            return r.join(i(""))
        }

        function y(e) {
            for (var t = [], i = 0; 2 > i; i++) t.push(e);
            return t
        }

        function w(e) {
            return null == e || void 0 == e
        }

        function C(e, t, i) {
            this.f = e;
            this.c = t;
            this.g = w(i) ? !0 : i
        }

        function k(e) {
            if (w(e) || w(e.f) || w(e.c)) return !1;
            try {
                if (w(window[e.f])) return !1
            } catch (t) {
                return !1
            }
            return !0
        }

        function E(e, t) {
            if (w(e)) return i("");
            for (var n = 0; n < e.length; n++) {
                var s = e[n];
                if (!w(s) && s.f == t) return s
            }
        }

        function T() {
            var e;
            e:{
                if (!w(q)) for (e = 0; e < q.length; e++) {
                    var a = q[e];
                    if (a.g && !k(a)) {
                        e = a;
                        break e
                    }
                }
                e = null
            }
            var o;
            if (w(e)) {
                try {
                    o = 1.01 === window.parseFloat(r("5sDv5C5s")) && window.isNaN(window.parseFloat(s("zjz3zazaz6")))
                } catch (c) {
                    o = !1
                }
                if (o) {
                    var _;
                    try {
                        _ = 123 === window.parseInt(i("5s5D55")) && window.isNaN(window.parseInt(s("zjz3zazaz6")))
                    } catch (d) {
                        _ = !1
                    }
                    if (_) {
                        var f;
                        try {
                            f = window.decodeURI(r("D35D5D")) === r("DD")
                        } catch (h) {
                            f = !1
                        }
                        if (f) {
                            var l;
                            try {
                                l = window.decodeURIComponent(s("D35D5N")) === i("DN")
                            } catch (u) {
                                l = !1
                            }
                            if (l) {
                                var p;
                                try {
                                    p = window.encodeURI(s("DD")) === r("D35D5D")
                                } catch (m) {
                                    p = !1
                                }
                                if (p) {
                                    var v;
                                    try {
                                        v = window.encodeURIComponent(s("DN")) === t("D35D5N")
                                    } catch (g) {
                                        v = !1
                                    }
                                    if (v) {
                                        var b;
                                        try {
                                            b = window.escape(r("DN")) === i("D35D5N")
                                        } catch ($) {
                                            b = !1
                                        }
                                        if (b) {
                                            var N;
                                            try {
                                                N = window.unescape(i("D35D5N")) === s("DN")
                                            } catch (A) {
                                                N = !1
                                            }
                                            if (N) {
                                                var y;
                                                try {
                                                    y = 123 === window.eval(t("DjNNi3NvN5izNKN6NvDjDKimiDN3izi3iDNvDC5s5D555miUDKDjDK5m"))
                                                } catch (C) {
                                                    y = !1
                                                }
                                                o = y ? null : E(q, r("N3iNNsNa"))
                                            } else o = E(q, i("i3NvN3i5N5NsiCN3"))
                                        } else o = E(q, r("N3i5N5NsiCN3"))
                                    } else o = E(q, r("N3NvN5N6NzN3333DzKz5N6NUiCN6NvN3Nviz"))
                                } else o = E(q, n("N3NvN5N6NzN3333DzK"))
                            } else o = E(q, r("NzN3N5N6NzN3333DzKz5N6NUiCN6NvN3Nviz"))
                        } else o = E(q, i("NzN3N5N6NzN3333DzK"))
                    } else o = E(q, n("iCNsiDi5N3zKNviz"))
                } else o = E(q, t("iCNsiDi5N3zNNaN6Nsiz"))
            } else o = e;
            return o
        }

        function M() {
            var e = T();
            if (!w(e)) return e.c;
            try {
                e = w(window[r("iCNjNsNvizN6NU")]) || w(window[r("iCNjNsNvizN6NU")][n("NKNvN9N3N5izz9i5")]) ? null : E(q, s("iCNjNsNvizN6NUDvNKNvN9N3N5izz9i5"))
            } catch (t) {
                e = null
            }
            if (!w(e)) return e.c;
            try {
                e = w(context) || w(context[n("NjNsi5Njz5N6NzN3")]) ? null : E(q, i("N5N6NvizN3ijizDvNjNsi5Njz5N6NzN3"))
            } catch (a) {
                e = null
            }
            return w(e) ? null : e.c
        }

        function x() {
            for (var e = [], t = 0; 3 > t; t++) {
                var i = Math.random() * re, i = Math.floor(i);
                e.push(se.charAt(i))
            }
            return e.join(n(""))
        }

        function S(e) {
            for (var i = (H[t("N5N6N6NmNKN3")] || s("")).split(t("5mDC")), n = 0; n < i.length; n++) {
                var r = i[n].indexOf(s("5U"));
                if (0 <= r) {
                    var a = i[n].substring(r + 1, i[n].length);
                    if (i[n].substring(0, r) == e) return window.decodeURIComponent(a)
                }
            }
            return null
        }

        function I(e) {
            var a = [n("iN"), t("NNiC"), n("i3"), n("Nj"), t("N3N5"), r("N3NU"), n("NKN5iC")], o = n("");
            if (null == e || void 0 == e) return e;
            if (typeof e == [t("N6ND"), s("N9N3"), s("N5iz")].join(i(""))) {
                for (var o = o + t("im"), c = 0; c < a.length; c++) if (e.hasOwnProperty(a[c])) {
                    var _ = i("Di") + a[c] + r("Di59Di"), d;
                    d = t("") + e[a[c]];
                    d = null == d || void 0 == d ? d : d.replace(/'/g, n("3aDi")).replace(/"/g, t("DD"));
                    o += _ + d + s("DiDa")
                }
                o.charAt(o.length - 1) == i("Da") && (o = o.substring(0, o.length - 1));
                return o += n("iU")
            }
            return null
        }

        function P(e, r, a, o) {
            var c = [];
            c.push(e + t("5U") + encodeURIComponent(r));
            a && (e = new Date, e = new Date(o), o = e[n("izN6zizU3z35iziDNKNvNi")](), c.push(i("5mDC")), c.push(t("N3ij")), c.push(t("iCNK")), c.push(i("iDN3")), c.push(n("i55U")), c.push(o));
            c.push(i("5mDC"));
            c.push(s("iCNs"));
            c.push(t("izNj5UD6"));
            null != de && void 0 != de && de != t("") && (c.push(s("5mDC")), c.push(n("NzN6")), c.push(s("NUNsNK")), c.push(t("Nv5U")), c.push(de));
            H[s("N5N6N6NmNKN3")] = c.join(t(""))
        }

        function D(e) {
            window[fe] = e
        }

        function L(e) {
            window[he] = e
        }

        function z(e) {
            for (var t = [], n = 0; 10 > n; n++) t.push(e);
            return t.join(i(""))
        }

        function B(e, t) {
            var n = S(e);
            null !== n && void 0 !== n && n !== i("") || P(e, t, !1)
        }

        function O() {
            var e = S(ie);
            if (null == e || void 0 == e || e == r("")) e = window[he];
            return e
        }

        function R() {
            var e = O();
            if (null == e || void 0 == e || e == t("")) return !1;
            try {
                return (e = parseInt(e)) && e >= ne ? !0 : !1
            } catch (i) {
                return !1
            }
        }

        function j(e) {
            if (null == e || void 0 == e || e == s("")) return null;
            e = e.split(n("59"));
            return 2 > e.length || !/[0-9]+/gi.test(e[1]) ? null : parseInt(e[1])
        }

        function W() {
            var e = S(te);
            if (null == e || void 0 == e || e == n("")) e = window[fe];
            return e
        }

        function F() {
            var e = W();
            if (null == e || void 0 == e || e == t("")) return 0;
            e = j(e);
            return null == e ? 0 : e - (ae - oe) - (new (window[t("zzNsizN3")]))[n("NiN3iz3zNKNUN3")]()
        }

        function X(e, i) {
            var a = new (window[s("zzNsizN3")]);
            a[s("i5N3iz3zNKNUN3")](a[r("NiN3iz3zNKNUN3")]() - 1e4);
            null == i || void 0 == i || i == s("") ? window[s("NzN6N5i3NUN3Nviz")][n("N5N6N6NmNKN3")] = e + s("5UNvi3NaNa5mDCiCNsizNj5UD65mDCN3ijiCNKiDN3i55U") + a[t("izN6zizU3z35iziDNKNvNi")]() : window[s("NzN6N5i3NUN3Nviz")][r("N5N6N6NmNKN3")] = e + s("5UNvi3NaNa5mDCiCNsizNj5UD65mDCNzN6NUNsNKNv5U") + i + n("5mDCN3ijiCNKiDN3i55U") + a[t("izN6zizU3z35iziDNKNvNi")]()
        }

        function U() {
            if (!(null == ue || void 0 == ue || 0 >= ue.length)) for (var e = 0; e < ue.length; e++) {
                var i = ue[e];
                (null != de && void 0 != de && de != t("") || null != i && void 0 != i && i != t("")) && de != i && (X(te, i), X(ie, i))
            }
        }

        function K() {
            U();
            window[he] = null;
            window[fe] = null;
            var l = !0, u = {v: t("iN5sDv5s")}, $ = M();
            $ && (u[n("NKN5iC")] = $);
            $ = null;
            u[s("Nj")] = J;
            var N = (new (window[r("zzNsizN3")]))[i("NiN3iz3zNKNUN3")]() + ae, A = N + 15768e7;
            u[n("i3")] = x() + N + x();
            try {
                var y = new b({b: _e, a: ce}).get();
                null != y && void 0 != y && 0 < y.length ? u[i("NNiC")] = y.join(t("Da")) : (u[r("NNiC")] = z(i("5C")), u[r("N3N5")] = t("5s"), l = !1)
            } catch (w) {
                u[i("NNiC")] = z(r("5C")), u[n("N3N5")] = t("5s"), l = !1
            }
            try {
                var C = $ = I(u), u = ee;
                if (null == u || void 0 == u) throw Error(n("5s5C5C5j"));
                if (null == C || void 0 == C) C = s("");
                var y = C, k;
                k = null == C ? o([]) : o(h(C));
                var E = h(y + k), T = h(u);
                null == E && (E = []);
                k = [];
                for (u = 0; 4 > u; u++) {
                    var S = 256 * Math.random(), S = Math.floor(S);
                    k[u] = g(S)
                }
                var T = a(T), T = p(T, a(k)), S = T = a(T), O;
                if (null == E || void 0 == E || 0 == E.length) O = _(); else {
                    var R = E.length, u = 0, u = 60 >= R % 64 ? 64 - R % 64 - 4 : 128 - R % 64 - 4, y = [];
                    d(E, y, 0, R);
                    for (E = 0; E < u; E++) y[R + E] = 0;
                    d(f(R), y, R + u, 4);
                    O = y
                }
                R = O;
                if (null == R || 0 != R.length % 64) throw Error(t("5s5C5C53"));
                O = [];
                for (var E = 0, j = R.length / 64, u = 0; u < j; u++) for (O[u] = [], y = 0; 64 > y; y++) O[u][y] = R[E++];
                j = [];
                d(k, j, 0, 4);
                for (var W = O.length, R = 0; R < W; R++) {
                    var F, X;
                    var q = O[R];
                    if (null == q) X = null; else {
                        var G = g(-10);
                        k = [];
                        for (var H = q.length, E = 0; E < H; E++) k.push(v(q[E], G++));
                        X = k
                    }
                    k = X;
                    if (null == k) F = null; else {
                        for (var V = g(11), E = [], Q = k.length, u = 0; u < Q; u++) E.push(m(k[u], V--));
                        F = E
                    }
                    var Z = p(F, T), Y;
                    k = Z;
                    E = S;
                    if (null == k) Y = null; else if (null == E) Y = k; else {
                        for (var u = [], se = E.length, y = 0, re = k.length; y < re; y++) u[y] = g(k[y] + E[y % se]);
                        Y = u
                    }
                    var Z = p(Y, S), de = e(Z), de = e(de);
                    d(de, j, 64 * R + 4, 64);
                    S = de
                }
                var le;
                if (null == j || void 0 == j) le = null; else if (0 == j.length) le = r(""); else try {
                    W = [];
                    for (F = 0; F < j.length;) if (F + 3 <= j.length) W.push(c(j, F, 3)), F += 3; else {
                        W.push(c(j, F, j.length - F));
                        break
                    }
                    le = W.join(n(""))
                } catch (ue) {
                    throw Error(n("5s5C5s5C"))
                }
                $ = le
            } catch (pe) {
                $ = I({ec: n("5D"), em: pe.message}), l = !1
            }
            $ = $ + s("59") + N;
            P(te, $, l, A);
            B(te, $);
            D($);
            P(ie, ne, l, A);
            B(ie, ne);
            L(ne);
            window[r("i5N3iz3zNKNUN3N6i3iz")] && window[i("i5N3iz3zNKNUN3N6i3iz")](K, oe)
        }

        C.prototype = {
            toString: function () {
                return n("imDiNvNsNUN3Di59") + this.f + i("DaDCDiN5N6NzN3Di59") + this.c + i("DaDCDiNDiDN6iii5N3iD3CiDN6iCDi59") + this.g + r("iU")
            }
        };
    }()
}();
var dbits = 28;
var canary = 0xdeadbeefcafe;
var j_lm = 15715070 == (16777215 & canary);
BigInteger.prototype.am = am3;

function BigInteger(e, t, i) {
    if (null != e) if ("number" == typeof e) this.fromNumber(e, t, i); else if (null == t && "string" != typeof e) this.fromString(e, 256); else this.fromString(e, t)
}

function nbi() {
    return new BigInteger(null)
}

function am1(e, t, i, n, s, r) {
    for (; --r >= 0;) {
        var a = t * this[e++] + i[n] + s;
        s = Math.floor(a / 67108864);
        i[n++] = 67108863 & a
    }
    return s
}

function am2(e, t, i, n, s, r) {
    var a = 32767 & t, o = t >> 15;
    for (; --r >= 0;) {
        var c = 32767 & this[e];
        var _ = this[e++] >> 15;
        var d = o * c + _ * a;
        c = a * c + ((32767 & d) << 15) + i[n] + (1073741823 & s);
        s = (c >>> 30) + (d >>> 15) + o * _ + (s >>> 30);
        i[n++] = 1073741823 & c
    }
    return s
}

function am3(e, t, i, n, s, r) {
    var a = 16383 & t, o = t >> 14;
    for (; --r >= 0;) {
        var c = 16383 & this[e];
        var _ = this[e++] >> 14;
        var d = o * c + _ * a;
        c = a * c + ((16383 & d) << 14) + i[n] + s;
        s = (c >> 28) + (d >> 14) + o * _;
        i[n++] = 268435455 & c
    }
    return s
}

BigInteger.prototype.DB = dbits;
BigInteger.prototype.DM = (1 << dbits) - 1;
BigInteger.prototype.DV = 1 << dbits;
var BI_FP = 52;
BigInteger.prototype.FV = Math.pow(2, BI_FP);
BigInteger.prototype.F1 = BI_FP - dbits;
BigInteger.prototype.F2 = 2 * dbits - BI_FP;
var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
var BI_RC = [];
var rr, vv;
rr = "0".charCodeAt(0);
for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
rr = "a".charCodeAt(0);
for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
rr = "A".charCodeAt(0);
for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;

function int2char(e) {
    return BI_RM.charAt(e)
}

function intAt(e, t) {
    var i = BI_RC[e.charCodeAt(t)];
    return null == i ? -1 : i
}

function bnpCopyTo(e) {
    for (var t = this.t - 1; t >= 0; --t) e[t] = this[t];
    e.t = this.t;
    e.s = this.s
}

function bnpFromInt(e) {
    this.t = 1;
    this.s = e < 0 ? -1 : 0;
    if (e > 0) this[0] = e; else if (e < -1) this[0] = e + DV; else this.t = 0
}

function nbv(e) {
    var t = nbi();
    t.fromInt(e);
    return t
}

function bnpFromString(e, t) {
    var i;
    if (16 == t) i = 4; else if (8 == t) i = 3; else if (256 == t) i = 8; else if (2 == t) i = 1; else if (32 == t) i = 5; else if (4 == t) i = 2; else {
        this.fromRadix(e, t);
        return
    }
    this.t = 0;
    this.s = 0;
    var n = e.length, s = !1, r = 0;
    for (; --n >= 0;) {
        var a = 8 == i ? 255 & e[n] : intAt(e, n);
        if (!(a < 0)) {
            s = !1;
            if (0 == r) this[this.t++] = a; else if (r + i > this.DB) {
                this[this.t - 1] |= (a & (1 << this.DB - r) - 1) << r;
                this[this.t++] = a >> this.DB - r
            } else this[this.t - 1] |= a << r;
            r += i;
            if (r >= this.DB) r -= this.DB
        } else if ("-" == e.charAt(n)) s = !0
    }
    if (8 == i && 0 != (128 & e[0])) {
        this.s = -1;
        if (r > 0) this[this.t - 1] |= (1 << this.DB - r) - 1 << r
    }
    this.clamp();
    if (s) BigInteger.ZERO.subTo(this, this)
}

function bnpClamp() {
    var e = this.s & this.DM;
    for (; this.t > 0 && this[this.t - 1] == e;) --this.t
}

function bnToString(e) {
    if (this.s < 0) return "-" + this.negate().toString(e);
    var t;
    if (16 == e) t = 4; else if (8 == e) t = 3; else if (2 == e) t = 1; else if (32 == e) t = 5; else if (4 == e) t = 2; else return this.toRadix(e);
    var i = (1 << t) - 1, n, s = !1, r = "", a = this.t;
    var o = this.DB - a * this.DB % t;
    if (a-- > 0) {
        if (o < this.DB && (n = this[a] >> o) > 0) {
            s = !0;
            r = int2char(n)
        }
        for (; a >= 0;) {
            if (o < t) {
                n = (this[a] & (1 << o) - 1) << t - o;
                n |= this[--a] >> (o += this.DB - t)
            } else {
                n = this[a] >> (o -= t) & i;
                if (o <= 0) {
                    o += this.DB;
                    --a
                }
            }
            if (n > 0) s = !0;
            if (s) r += int2char(n)
        }
    }
    return s ? r : "0"
}

function bnNegate() {
    var e = nbi();
    BigInteger.ZERO.subTo(this, e);
    return e
}

function bnAbs() {
    return this.s < 0 ? this.negate() : this
}

function bnCompareTo(e) {
    var t = this.s - e.s;
    if (0 != t) return t;
    var i = this.t;
    t = i - e.t;
    if (0 != t) return this.s < 0 ? -t : t;
    for (; --i >= 0;) if (0 != (t = this[i] - e[i])) return t;
    return 0
}

function nbits(e) {
    var t = 1, i;
    if (0 != (i = e >>> 16)) {
        e = i;
        t += 16
    }
    if (0 != (i = e >> 8)) {
        e = i;
        t += 8
    }
    if (0 != (i = e >> 4)) {
        e = i;
        t += 4
    }
    if (0 != (i = e >> 2)) {
        e = i;
        t += 2
    }
    if (0 != (i = e >> 1)) {
        e = i;
        t += 1
    }
    return t
}

function bnBitLength() {
    if (this.t <= 0) return 0; else return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM)
}

function bnpDLShiftTo(e, t) {
    var i;
    for (i = this.t - 1; i >= 0; --i) t[i + e] = this[i];
    for (i = e - 1; i >= 0; --i) t[i] = 0;
    t.t = this.t + e;
    t.s = this.s
}

function bnpDRShiftTo(e, t) {
    for (var i = e; i < this.t; ++i) t[i - e] = this[i];
    t.t = Math.max(this.t - e, 0);
    t.s = this.s
}

function bnpLShiftTo(e, t) {
    var i = e % this.DB;
    var n = this.DB - i;
    var s = (1 << n) - 1;
    var r = Math.floor(e / this.DB), a = this.s << i & this.DM, o;
    for (o = this.t - 1; o >= 0; --o) {
        t[o + r + 1] = this[o] >> n | a;
        a = (this[o] & s) << i
    }
    for (o = r - 1; o >= 0; --o) t[o] = 0;
    t[r] = a;
    t.t = this.t + r + 1;
    t.s = this.s;
    t.clamp()
}

function bnpRShiftTo(e, t) {
    t.s = this.s;
    var i = Math.floor(e / this.DB);
    if (!(i >= this.t)) {
        var n = e % this.DB;
        var s = this.DB - n;
        var r = (1 << n) - 1;
        t[0] = this[i] >> n;
        for (var a = i + 1; a < this.t; ++a) {
            t[a - i - 1] |= (this[a] & r) << s;
            t[a - i] = this[a] >> n
        }
        if (n > 0) t[this.t - i - 1] |= (this.s & r) << s;
        t.t = this.t - i;
        t.clamp()
    } else t.t = 0
}

function bnpSubTo(e, t) {
    var i = 0, n = 0, s = Math.min(e.t, this.t);
    for (; i < s;) {
        n += this[i] - e[i];
        t[i++] = n & this.DM;
        n >>= this.DB
    }
    if (e.t < this.t) {
        n -= e.s;
        for (; i < this.t;) {
            n += this[i];
            t[i++] = n & this.DM;
            n >>= this.DB
        }
        n += this.s
    } else {
        n += this.s;
        for (; i < e.t;) {
            n -= e[i];
            t[i++] = n & this.DM;
            n >>= this.DB
        }
        n -= e.s
    }
    t.s = n < 0 ? -1 : 0;
    if (n < -1) t[i++] = this.DV + n; else if (n > 0) t[i++] = n;
    t.t = i;
    t.clamp()
}

function bnpMultiplyTo(e, t) {
    var i = this.abs(), n = e.abs();
    var s = i.t;
    t.t = s + n.t;
    for (; --s >= 0;) t[s] = 0;
    for (s = 0; s < n.t; ++s) t[s + i.t] = i.am(0, n[s], t, s, 0, i.t);
    t.s = 0;
    t.clamp();
    if (this.s != e.s) BigInteger.ZERO.subTo(t, t)
}

function bnpSquareTo(e) {
    var t = this.abs();
    var i = e.t = 2 * t.t;
    for (; --i >= 0;) e[i] = 0;
    for (i = 0; i < t.t - 1; ++i) {
        var n = t.am(i, t[i], e, 2 * i, 0, 1);
        if ((e[i + t.t] += t.am(i + 1, 2 * t[i], e, 2 * i + 1, n, t.t - i - 1)) >= t.DV) {
            e[i + t.t] -= t.DV;
            e[i + t.t + 1] = 1
        }
    }
    if (e.t > 0) e[e.t - 1] += t.am(i, t[i], e, 2 * i, 0, 1);
    e.s = 0;
    e.clamp()
}

function bnpDivRemTo(e, t, i) {
    var n = e.abs();
    if (!(n.t <= 0)) {
        var s = this.abs();
        if (!(s.t < n.t)) {
            if (null == i) i = nbi();
            var r = nbi(), a = this.s, o = e.s;
            var c = this.DB - nbits(n[n.t - 1]);
            if (c > 0) {
                n.lShiftTo(c, r);
                s.lShiftTo(c, i)
            } else {
                n.copyTo(r);
                s.copyTo(i)
            }
            var _ = r.t;
            var d = r[_ - 1];
            if (0 != d) {
                var f = d * (1 << this.F1) + (_ > 1 ? r[_ - 2] >> this.F2 : 0);
                var h = this.FV / f, l = (1 << this.F1) / f, u = 1 << this.F2;
                var p = i.t, m = p - _, v = null == t ? nbi() : t;
                r.dlShiftTo(m, v);
                if (i.compareTo(v) >= 0) {
                    i[i.t++] = 1;
                    i.subTo(v, i)
                }
                BigInteger.ONE.dlShiftTo(_, v);
                v.subTo(r, r);
                for (; r.t < _;) r[r.t++] = 0;
                for (; --m >= 0;) {
                    var g = i[--p] == d ? this.DM : Math.floor(i[p] * h + (i[p - 1] + u) * l);
                    if ((i[p] += r.am(0, g, i, m, 0, _)) < g) {
                        r.dlShiftTo(m, v);
                        i.subTo(v, i);
                        for (; i[p] < --g;) i.subTo(v, i)
                    }
                }
                if (null != t) {
                    i.drShiftTo(_, t);
                    if (a != o) BigInteger.ZERO.subTo(t, t)
                }
                i.t = _;
                i.clamp();
                if (c > 0) i.rShiftTo(c, i);
                if (a < 0) BigInteger.ZERO.subTo(i, i)
            }
        } else {
            if (null != t) t.fromInt(0);
            if (null != i) this.copyTo(i)
        }
    }
}

function bnMod(e) {
    var t = nbi();
    this.abs().divRemTo(e, null, t);
    if (this.s < 0 && t.compareTo(BigInteger.ZERO) > 0) e.subTo(t, t);
    return t
}

function Classic(e) {
    this.m = e
}

function cConvert(e) {
    if (e.s < 0 || e.compareTo(this.m) >= 0) return e.mod(this.m); else return e
}

function cRevert(e) {
    return e
}

function cReduce(e) {
    e.divRemTo(this.m, null, e)
}

function cMulTo(e, t, i) {
    e.multiplyTo(t, i);
    this.reduce(i)
}

function cSqrTo(e, t) {
    e.squareTo(t);
    this.reduce(t)
}

Classic.prototype.convert = cConvert;
Classic.prototype.revert = cRevert;
Classic.prototype.reduce = cReduce;
Classic.prototype.mulTo = cMulTo;
Classic.prototype.sqrTo = cSqrTo;

function bnpInvDigit() {
    if (this.t < 1) return 0;
    var e = this[0];
    if (0 == (1 & e)) return 0;
    var t = 3 & e;
    t = t * (2 - (15 & e) * t) & 15;
    t = t * (2 - (255 & e) * t) & 255;
    t = t * (2 - ((65535 & e) * t & 65535)) & 65535;
    t = t * (2 - e * t % this.DV) % this.DV;
    return t > 0 ? this.DV - t : -t
}

function Montgomery(e) {
    this.m = e;
    this.mp = e.invDigit();
    this.mpl = 32767 & this.mp;
    this.mph = this.mp >> 15;
    this.um = (1 << e.DB - 15) - 1;
    this.mt2 = 2 * e.t
}

function montConvert(e) {
    var t = nbi();
    e.abs().dlShiftTo(this.m.t, t);
    t.divRemTo(this.m, null, t);
    if (e.s < 0 && t.compareTo(BigInteger.ZERO) > 0) this.m.subTo(t, t);
    return t
}

function montRevert(e) {
    var t = nbi();
    e.copyTo(t);
    this.reduce(t);
    return t
}

function montReduce(e) {
    for (; e.t <= this.mt2;) e[e.t++] = 0;
    for (var t = 0; t < this.m.t; ++t) {
        var i = 32767 & e[t];
        var n = i * this.mpl + ((i * this.mph + (e[t] >> 15) * this.mpl & this.um) << 15) & e.DM;
        i = t + this.m.t;
        e[i] += this.m.am(0, n, e, t, 0, this.m.t);
        for (; e[i] >= e.DV;) {
            e[i] -= e.DV;
            e[++i]++
        }
    }
    e.clamp();
    e.drShiftTo(this.m.t, e);
    if (e.compareTo(this.m) >= 0) e.subTo(this.m, e)
}

function montSqrTo(e, t) {
    e.squareTo(t);
    this.reduce(t)
}

function montMulTo(e, t, i) {
    e.multiplyTo(t, i);
    this.reduce(i)
}

Montgomery.prototype.convert = montConvert;
Montgomery.prototype.revert = montRevert;
Montgomery.prototype.reduce = montReduce;
Montgomery.prototype.mulTo = montMulTo;
Montgomery.prototype.sqrTo = montSqrTo;

function bnpIsEven() {
    return 0 == (this.t > 0 ? 1 & this[0] : this.s)
}

function bnpExp(e, t) {
    if (e > 4294967295 || e < 1) return BigInteger.ONE;
    var i = nbi(), n = nbi(), s = t.convert(this), r = nbits(e) - 1;
    s.copyTo(i);
    for (; --r >= 0;) {
        t.sqrTo(i, n);
        if ((e & 1 << r) > 0) t.mulTo(n, s, i); else {
            var a = i;
            i = n;
            n = a
        }
    }
    return t.revert(i)
}

function bnModPowInt(e, t) {
    var i;
    if (e < 256 || t.isEven()) i = new Classic(t); else i = new Montgomery(t);
    return this.exp(e, i)
}

BigInteger.prototype.copyTo = bnpCopyTo;
BigInteger.prototype.fromInt = bnpFromInt;
BigInteger.prototype.fromString = bnpFromString;
BigInteger.prototype.clamp = bnpClamp;
BigInteger.prototype.dlShiftTo = bnpDLShiftTo;
BigInteger.prototype.drShiftTo = bnpDRShiftTo;
BigInteger.prototype.lShiftTo = bnpLShiftTo;
BigInteger.prototype.rShiftTo = bnpRShiftTo;
BigInteger.prototype.subTo = bnpSubTo;
BigInteger.prototype.multiplyTo = bnpMultiplyTo;
BigInteger.prototype.squareTo = bnpSquareTo;
BigInteger.prototype.divRemTo = bnpDivRemTo;
BigInteger.prototype.invDigit = bnpInvDigit;
BigInteger.prototype.isEven = bnpIsEven;
BigInteger.prototype.exp = bnpExp;
BigInteger.prototype.toString = bnToString;
BigInteger.prototype.negate = bnNegate;
BigInteger.prototype.abs = bnAbs;
BigInteger.prototype.compareTo = bnCompareTo;
BigInteger.prototype.bitLength = bnBitLength;
BigInteger.prototype.mod = bnMod;
BigInteger.prototype.modPowInt = bnModPowInt;
BigInteger.ZERO = nbv(0);
BigInteger.ONE = nbv(1);

function bnClone() {
    var e = nbi();
    this.copyTo(e);
    return e
}

function bnIntValue() {
    if (this.s < 0) {
        if (1 == this.t) return this[0] - this.DV; else if (0 == this.t) return -1
    } else if (1 == this.t) return this[0]; else if (0 == this.t) return 0;
    return (this[1] & (1 << 32 - this.DB) - 1) << this.DB | this[0]
}

function bnByteValue() {
    return 0 == this.t ? this.s : this[0] << 24 >> 24
}

function bnShortValue() {
    return 0 == this.t ? this.s : this[0] << 16 >> 16
}

function bnpChunkSize(e) {
    return Math.floor(Math.LN2 * this.DB / Math.log(e))
}

function bnSigNum() {
    if (this.s < 0) return -1; else if (this.t <= 0 || 1 == this.t && this[0] <= 0) return 0; else return 1
}

function bnpToRadix(e) {
    if (null == e) e = 10;
    if (0 == this.signum() || e < 2 || e > 36) return "0";
    var t = this.chunkSize(e);
    var i = Math.pow(e, t);
    var n = nbv(i), s = nbi(), r = nbi(), a = "";
    this.divRemTo(n, s, r);
    for (; s.signum() > 0;) {
        a = (i + r.intValue()).toString(e).substr(1) + a;
        s.divRemTo(n, s, r)
    }
    return r.intValue().toString(e) + a
}

function bnpFromRadix(e, t) {
    this.fromInt(0);
    if (null == t) t = 10;
    var i = this.chunkSize(t);
    var n = Math.pow(t, i), s = !1, r = 0, a = 0;
    for (var o = 0; o < e.length; ++o) {
        var c = intAt(e, o);
        if (!(c < 0)) {
            a = t * a + c;
            if (++r >= i) {
                this.dMultiply(n);
                this.dAddOffset(a, 0);
                r = 0;
                a = 0
            }
        } else if ("-" == e.charAt(o) && 0 == this.signum()) s = !0
    }
    if (r > 0) {
        this.dMultiply(Math.pow(t, r));
        this.dAddOffset(a, 0)
    }
    if (s) BigInteger.ZERO.subTo(this, this)
}

function bnpFromNumber(e, t, i) {
    if ("number" == typeof t) if (e < 2) this.fromInt(1); else {
        this.fromNumber(e, i);
        if (!this.testBit(e - 1)) this.bitwiseTo(BigInteger.ONE.shiftLeft(e - 1), op_or, this);
        if (this.isEven()) this.dAddOffset(1, 0);
        for (; !this.isProbablePrime(t);) {
            this.dAddOffset(2, 0);
            if (this.bitLength() > e) this.subTo(BigInteger.ONE.shiftLeft(e - 1), this)
        }
    } else {
        var n = [], s = 7 & e;
        n.length = (e >> 3) + 1;
        t.nextBytes(n);
        if (s > 0) n[0] &= (1 << s) - 1; else n[0] = 0;
        this.fromString(n, 256)
    }
}

function bnToByteArray() {
    var e = this.t, t = [];
    t[0] = this.s;
    var i = this.DB - e * this.DB % 8, n, s = 0;
    if (e-- > 0) {
        if (i < this.DB && (n = this[e] >> i) != (this.s & this.DM) >> i) t[s++] = n | this.s << this.DB - i;
        for (; e >= 0;) {
            if (i < 8) {
                n = (this[e] & (1 << i) - 1) << 8 - i;
                n |= this[--e] >> (i += this.DB - 8)
            } else {
                n = this[e] >> (i -= 8) & 255;
                if (i <= 0) {
                    i += this.DB;
                    --e
                }
            }
            if (0 != (128 & n)) n |= -256;
            if (0 == s && (128 & this.s) != (128 & n)) ++s;
            if (s > 0 || n != this.s) t[s++] = n
        }
    }
    return t
}

function bnEquals(e) {
    return 0 == this.compareTo(e)
}

function bnMin(e) {
    return this.compareTo(e) < 0 ? this : e
}

function bnMax(e) {
    return this.compareTo(e) > 0 ? this : e
}

function bnpBitwiseTo(e, t, i) {
    var n, s, r = Math.min(e.t, this.t);
    for (n = 0; n < r; ++n) i[n] = t(this[n], e[n]);
    if (e.t < this.t) {
        s = e.s & this.DM;
        for (n = r; n < this.t; ++n) i[n] = t(this[n], s);
        i.t = this.t
    } else {
        s = this.s & this.DM;
        for (n = r; n < e.t; ++n) i[n] = t(s, e[n]);
        i.t = e.t
    }
    i.s = t(this.s, e.s);
    i.clamp()
}

function op_and(e, t) {
    return e & t
}

function bnAnd(e) {
    var t = nbi();
    this.bitwiseTo(e, op_and, t);
    return t
}

function op_or(e, t) {
    return e | t
}

function bnOr(e) {
    var t = nbi();
    this.bitwiseTo(e, op_or, t);
    return t
}

function op_xor(e, t) {
    return e ^ t
}

function bnXor(e) {
    var t = nbi();
    this.bitwiseTo(e, op_xor, t);
    return t
}

function op_andnot(e, t) {
    return e & ~t
}

function bnAndNot(e) {
    var t = nbi();
    this.bitwiseTo(e, op_andnot, t);
    return t
}

function bnNot() {
    var e = nbi();
    for (var t = 0; t < this.t; ++t) e[t] = this.DM & ~this[t];
    e.t = this.t;
    e.s = ~this.s;
    return e
}

function bnShiftLeft(e) {
    var t = nbi();
    if (e < 0) this.rShiftTo(-e, t); else this.lShiftTo(e, t);
    return t
}

function bnShiftRight(e) {
    var t = nbi();
    if (e < 0) this.lShiftTo(-e, t); else this.rShiftTo(e, t);
    return t
}

function lbit(e) {
    if (0 == e) return -1;
    var t = 0;
    if (0 == (65535 & e)) {
        e >>= 16;
        t += 16
    }
    if (0 == (255 & e)) {
        e >>= 8;
        t += 8
    }
    if (0 == (15 & e)) {
        e >>= 4;
        t += 4
    }
    if (0 == (3 & e)) {
        e >>= 2;
        t += 2
    }
    if (0 == (1 & e)) ++t;
    return t
}

function bnGetLowestSetBit() {
    for (var e = 0; e < this.t; ++e) if (0 != this[e]) return e * this.DB + lbit(this[e]);
    if (this.s < 0) return this.t * this.DB; else return -1
}

function cbit(e) {
    var t = 0;
    for (; 0 != e;) {
        e &= e - 1;
        ++t
    }
    return t
}

function bnBitCount() {
    var e = 0, t = this.s & this.DM;
    for (var i = 0; i < this.t; ++i) e += cbit(this[i] ^ t);
    return e
}

function bnTestBit(e) {
    var t = Math.floor(e / this.DB);
    if (t >= this.t) return 0 != this.s; else return 0 != (this[t] & 1 << e % this.DB)
}

function bnpChangeBit(e, t) {
    var i = BigInteger.ONE.shiftLeft(e);
    this.bitwiseTo(i, t, i);
    return i
}

function bnSetBit(e) {
    return this.changeBit(e, op_or)
}

function bnClearBit(e) {
    return this.changeBit(e, op_andnot)
}

function bnFlipBit(e) {
    return this.changeBit(e, op_xor)
}

function bnpAddTo(e, t) {
    var i = 0, n = 0, s = Math.min(e.t, this.t);
    for (; i < s;) {
        n += this[i] + e[i];
        t[i++] = n & this.DM;
        n >>= this.DB
    }
    if (e.t < this.t) {
        n += e.s;
        for (; i < this.t;) {
            n += this[i];
            t[i++] = n & this.DM;
            n >>= this.DB
        }
        n += this.s
    } else {
        n += this.s;
        for (; i < e.t;) {
            n += e[i];
            t[i++] = n & this.DM;
            n >>= this.DB
        }
        n += e.s
    }
    t.s = n < 0 ? -1 : 0;
    if (n > 0) t[i++] = n; else if (n < -1) t[i++] = this.DV + n;
    t.t = i;
    t.clamp()
}

function bnAdd(e) {
    var t = nbi();
    this.addTo(e, t);
    return t
}

function bnSubtract(e) {
    var t = nbi();
    this.subTo(e, t);
    return t
}

function bnMultiply(e) {
    var t = nbi();
    this.multiplyTo(e, t);
    return t
}

function bnSquare() {
    var e = nbi();
    this.squareTo(e);
    return e
}

function bnDivide(e) {
    var t = nbi();
    this.divRemTo(e, t, null);
    return t
}

function bnRemainder(e) {
    var t = nbi();
    this.divRemTo(e, null, t);
    return t
}

function bnDivideAndRemainder(e) {
    var t = nbi(), i = nbi();
    this.divRemTo(e, t, i);
    return [t, i]
}

function bnpDMultiply(e) {
    this[this.t] = this.am(0, e - 1, this, 0, 0, this.t);
    ++this.t;
    this.clamp()
}

function bnpDAddOffset(e, t) {
    if (0 != e) {
        for (; this.t <= t;) this[this.t++] = 0;
        this[t] += e;
        for (; this[t] >= this.DV;) {
            this[t] -= this.DV;
            if (++t >= this.t) this[this.t++] = 0;
            ++this[t]
        }
    }
}

function NullExp() {
}

function nNop(e) {
    return e
}

function nMulTo(e, t, i) {
    e.multiplyTo(t, i)
}

function nSqrTo(e, t) {
    e.squareTo(t)
}

NullExp.prototype.convert = nNop;
NullExp.prototype.revert = nNop;
NullExp.prototype.mulTo = nMulTo;
NullExp.prototype.sqrTo = nSqrTo;

function bnPow(e) {
    return this.exp(e, new NullExp)
}

function bnpMultiplyLowerTo(e, t, i) {
    var n = Math.min(this.t + e.t, t);
    i.s = 0;
    i.t = n;
    for (; n > 0;) i[--n] = 0;
    var s;
    for (s = i.t - this.t; n < s; ++n) i[n + this.t] = this.am(0, e[n], i, n, 0, this.t);
    for (s = Math.min(e.t, t); n < s; ++n) this.am(0, e[n], i, n, 0, t - n);
    i.clamp()
}

function bnpMultiplyUpperTo(e, t, i) {
    --t;
    var n = i.t = this.t + e.t - t;
    i.s = 0;
    for (; --n >= 0;) i[n] = 0;
    for (n = Math.max(t - this.t, 0); n < e.t; ++n) i[this.t + n - t] = this.am(t - n, e[n], i, 0, 0, this.t + n - t);
    i.clamp();
    i.drShiftTo(1, i)
}

function Barrett(e) {
    this.r2 = nbi();
    this.q3 = nbi();
    BigInteger.ONE.dlShiftTo(2 * e.t, this.r2);
    this.mu = this.r2.divide(e);
    this.m = e
}

function barrettConvert(e) {
    if (e.s < 0 || e.t > 2 * this.m.t) return e.mod(this.m); else if (e.compareTo(this.m) < 0) return e; else {
        var t = nbi();
        e.copyTo(t);
        this.reduce(t);
        return t
    }
}

function barrettRevert(e) {
    return e
}

function barrettReduce(e) {
    e.drShiftTo(this.m.t - 1, this.r2);
    if (e.t > this.m.t + 1) {
        e.t = this.m.t + 1;
        e.clamp()
    }
    this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);
    this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);
    for (; e.compareTo(this.r2) < 0;) e.dAddOffset(1, this.m.t + 1);
    e.subTo(this.r2, e);
    for (; e.compareTo(this.m) >= 0;) e.subTo(this.m, e)
}

function barrettSqrTo(e, t) {
    e.squareTo(t);
    this.reduce(t)
}

function barrettMulTo(e, t, i) {
    e.multiplyTo(t, i);
    this.reduce(i)
}

Barrett.prototype.convert = barrettConvert;
Barrett.prototype.revert = barrettRevert;
Barrett.prototype.reduce = barrettReduce;
Barrett.prototype.mulTo = barrettMulTo;
Barrett.prototype.sqrTo = barrettSqrTo;

function bnModPow(e, t) {
    var i = e.bitLength(), n, s = nbv(1), r;
    if (i <= 0) return s; else if (i < 18) n = 1; else if (i < 48) n = 3; else if (i < 144) n = 4; else if (i < 768) n = 5; else n = 6;
    if (i < 8) r = new Classic(t); else if (t.isEven()) r = new Barrett(t); else r = new Montgomery(t);
    var a = [], o = 3, c = n - 1, _ = (1 << n) - 1;
    a[1] = r.convert(this);
    if (n > 1) {
        var d = nbi();
        r.sqrTo(a[1], d);
        for (; o <= _;) {
            a[o] = nbi();
            r.mulTo(d, a[o - 2], a[o]);
            o += 2
        }
    }
    var f = e.t - 1, h, l = !0, u = nbi(), p;
    i = nbits(e[f]) - 1;
    for (; f >= 0;) {
        if (i >= c) h = e[f] >> i - c & _; else {
            h = (e[f] & (1 << i + 1) - 1) << c - i;
            if (f > 0) h |= e[f - 1] >> this.DB + i - c
        }
        o = n;
        for (; 0 == (1 & h);) {
            h >>= 1;
            --o
        }
        if ((i -= o) < 0) {
            i += this.DB;
            --f
        }
        if (l) {
            a[h].copyTo(s);
            l = !1
        } else {
            for (; o > 1;) {
                r.sqrTo(s, u);
                r.sqrTo(u, s);
                o -= 2
            }
            if (o > 0) r.sqrTo(s, u); else {
                p = s;
                s = u;
                u = p
            }
            r.mulTo(u, a[h], s)
        }
        for (; f >= 0 && 0 == (e[f] & 1 << i);) {
            r.sqrTo(s, u);
            p = s;
            s = u;
            u = p;
            if (--i < 0) {
                i = this.DB - 1;
                --f
            }
        }
    }
    return r.revert(s)
}

function bnGCD(e) {
    var t = this.s < 0 ? this.negate() : this.clone();
    var i = e.s < 0 ? e.negate() : e.clone();
    if (t.compareTo(i) < 0) {
        var n = t;
        t = i;
        i = n
    }
    var s = t.getLowestSetBit(), r = i.getLowestSetBit();
    if (r < 0) return t;
    if (s < r) r = s;
    if (r > 0) {
        t.rShiftTo(r, t);
        i.rShiftTo(r, i)
    }
    for (; t.signum() > 0;) {
        if ((s = t.getLowestSetBit()) > 0) t.rShiftTo(s, t);
        if ((s = i.getLowestSetBit()) > 0) i.rShiftTo(s, i);
        if (t.compareTo(i) >= 0) {
            t.subTo(i, t);
            t.rShiftTo(1, t)
        } else {
            i.subTo(t, i);
            i.rShiftTo(1, i)
        }
    }
    if (r > 0) i.lShiftTo(r, i);
    return i
}

function bnpModInt(e) {
    if (e <= 0) return 0;
    var t = this.DV % e, i = this.s < 0 ? e - 1 : 0;
    if (this.t > 0) if (0 == t) i = this[0] % e; else for (var n = this.t - 1; n >= 0; --n) i = (t * i + this[n]) % e;
    return i
}

function bnModInverse(e) {
    var t = e.isEven();
    if (this.isEven() && t || 0 == e.signum()) return BigInteger.ZERO;
    var i = e.clone(), n = this.clone();
    var s = nbv(1), r = nbv(0), a = nbv(0), o = nbv(1);
    for (; 0 != i.signum();) {
        for (; i.isEven();) {
            i.rShiftTo(1, i);
            if (t) {
                if (!s.isEven() || !r.isEven()) {
                    s.addTo(this, s);
                    r.subTo(e, r)
                }
                s.rShiftTo(1, s)
            } else if (!r.isEven()) r.subTo(e, r);
            r.rShiftTo(1, r)
        }
        for (; n.isEven();) {
            n.rShiftTo(1, n);
            if (t) {
                if (!a.isEven() || !o.isEven()) {
                    a.addTo(this, a);
                    o.subTo(e, o)
                }
                a.rShiftTo(1, a)
            } else if (!o.isEven()) o.subTo(e, o);
            o.rShiftTo(1, o)
        }
        if (i.compareTo(n) >= 0) {
            i.subTo(n, i);
            if (t) s.subTo(a, s);
            r.subTo(o, r)
        } else {
            n.subTo(i, n);
            if (t) a.subTo(s, a);
            o.subTo(r, o)
        }
    }
    if (0 != n.compareTo(BigInteger.ONE)) return BigInteger.ZERO;
    if (o.compareTo(e) >= 0) return o.subtract(e);
    if (o.signum() < 0) o.addTo(e, o); else return o;
    if (o.signum() < 0) return o.add(e); else return o
}

var lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];
var lplim = (1 << 26) / lowprimes[lowprimes.length - 1];

function bnIsProbablePrime(e) {
    var t, i = this.abs();
    if (1 == i.t && i[0] <= lowprimes[lowprimes.length - 1]) {
        for (t = 0; t < lowprimes.length; ++t) if (i[0] == lowprimes[t]) return !0;
        return !1
    }
    if (i.isEven()) return !1;
    t = 1;
    for (; t < lowprimes.length;) {
        var n = lowprimes[t], s = t + 1;
        for (; s < lowprimes.length && n < lplim;) n *= lowprimes[s++];
        n = i.modInt(n);
        for (; t < s;) if (n % lowprimes[t++] == 0) return !1
    }
    return i.millerRabin(e)
}

function bnpMillerRabin(e) {
    var t = this.subtract(BigInteger.ONE);
    var i = t.getLowestSetBit();
    if (i <= 0) return !1;
    var n = t.shiftRight(i);
    e = e + 1 >> 1;
    if (e > lowprimes.length) e = lowprimes.length;
    var s = nbi();
    for (var r = 0; r < e; ++r) {
        s.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]);
        var a = s.modPow(n, this);
        if (0 != a.compareTo(BigInteger.ONE) && 0 != a.compareTo(t)) {
            var o = 1;
            for (; o++ < i && 0 != a.compareTo(t);) {
                a = a.modPowInt(2, this);
                if (0 == a.compareTo(BigInteger.ONE)) return !1
            }
            if (0 != a.compareTo(t)) return !1
        }
    }
    return !0
}

BigInteger.prototype.chunkSize = bnpChunkSize;
BigInteger.prototype.toRadix = bnpToRadix;
BigInteger.prototype.fromRadix = bnpFromRadix;
BigInteger.prototype.fromNumber = bnpFromNumber;
BigInteger.prototype.bitwiseTo = bnpBitwiseTo;
BigInteger.prototype.changeBit = bnpChangeBit;
BigInteger.prototype.addTo = bnpAddTo;
BigInteger.prototype.dMultiply = bnpDMultiply;
BigInteger.prototype.dAddOffset = bnpDAddOffset;
BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;
BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;
BigInteger.prototype.modInt = bnpModInt;
BigInteger.prototype.millerRabin = bnpMillerRabin;
BigInteger.prototype.clone = bnClone;
BigInteger.prototype.intValue = bnIntValue;
BigInteger.prototype.byteValue = bnByteValue;
BigInteger.prototype.shortValue = bnShortValue;
BigInteger.prototype.signum = bnSigNum;
BigInteger.prototype.toByteArray = bnToByteArray;
BigInteger.prototype.equals = bnEquals;
BigInteger.prototype.min = bnMin;
BigInteger.prototype.max = bnMax;
BigInteger.prototype.and = bnAnd;
BigInteger.prototype.or = bnOr;
BigInteger.prototype.xor = bnXor;
BigInteger.prototype.andNot = bnAndNot;
BigInteger.prototype.not = bnNot;
BigInteger.prototype.shiftLeft = bnShiftLeft;
BigInteger.prototype.shiftRight = bnShiftRight;
BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;
BigInteger.prototype.bitCount = bnBitCount;
BigInteger.prototype.testBit = bnTestBit;
BigInteger.prototype.setBit = bnSetBit;
BigInteger.prototype.clearBit = bnClearBit;
BigInteger.prototype.flipBit = bnFlipBit;
BigInteger.prototype.add = bnAdd;
BigInteger.prototype.subtract = bnSubtract;
BigInteger.prototype.multiply = bnMultiply;
BigInteger.prototype.divide = bnDivide;
BigInteger.prototype.remainder = bnRemainder;
BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder;
BigInteger.prototype.modPow = bnModPow;
BigInteger.prototype.modInverse = bnModInverse;
BigInteger.prototype.pow = bnPow;
BigInteger.prototype.gcd = bnGCD;
BigInteger.prototype.isProbablePrime = bnIsProbablePrime;
BigInteger.prototype.square = bnSquare;
if ("object" != typeof JSON) {
    JSON = {};
}
!function () {
    "use strict";

    function f(e) {
        return e < 10 ? "0" + e : e
    }

    function quote(e) {
        escapable.lastIndex = 0;
        return escapable.test(e) ? '"' + e.replace(escapable, function (e) {
            var t = meta[e];
            return "string" == typeof t ? t : "\\u" + ("0000" + e.charCodeAt(0).toString(16)).slice(-4)
        }) + '"' : '"' + e + '"'
    }

    function str(e, t) {
        var i, n, s, r, a = gap, o, c = t[e];
        if (c && "object" == typeof c && "function" == typeof c.toJSON) c = c.toJSON(e);
        if ("function" == typeof rep) c = rep.call(t, e, c);
        switch (typeof c) {
            case"string":
                return quote(c);
            case"number":
                return isFinite(c) ? String(c) : "null";
            case"boolean":
            case"null":
                return String(c);
            case"object":
                if (!c) return "null";
                gap += indent;
                o = [];
                if ("[object Array]" === Object.prototype.toString.apply(c)) {
                    r = c.length;
                    for (i = 0; i < r; i += 1) o[i] = str(i, c) || "null";
                    s = 0 === o.length ? "[]" : gap ? "[\n" + gap + o.join(",\n" + gap) + "\n" + a + "]" : "[" + o.join(",") + "]";
                    gap = a;
                    return s
                }
                if (rep && "object" == typeof rep) {
                    r = rep.length;
                    for (i = 0; i < r; i += 1) if ("string" == typeof rep[i]) {
                        n = rep[i];
                        s = str(n, c);
                        if (s) o.push(quote(n) + (gap ? ": " : ":") + s)
                    }
                } else for (n in c) if (Object.prototype.hasOwnProperty.call(c, n)) {
                    s = str(n, c);
                    if (s) o.push(quote(n) + (gap ? ": " : ":") + s)
                }
                s = 0 === o.length ? "{}" : gap ? "{\n" + gap + o.join(",\n" + gap) + "\n" + a + "}" : "{" + o.join(",") + "}";
                gap = a;
                return s
        }
    }

    if ("function" != typeof Date.prototype.toJSON) {
        Date.prototype.toJSON = function () {
            return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + f(this.getUTCMonth() + 1) + "-" + f(this.getUTCDate()) + "T" + f(this.getUTCHours()) + ":" + f(this.getUTCMinutes()) + ":" + f(this.getUTCSeconds()) + "Z" : null
        };
        String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function () {
            return this.valueOf()
        }
    }
    var cx, escapable, gap, indent, meta, rep;
    if ("function" != typeof JSON.stringify) {
        escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
        meta = {"\b": "\\b", "\t": "\\t", "\n": "\\n", "\f": "\\f", "\r": "\\r", '"': '\\"', "\\": "\\\\"};
        JSON.stringify = function (e, t, i) {
            var n;
            gap = "";
            indent = "";
            if ("number" == typeof i) for (n = 0; n < i; n += 1) indent += " "; else if ("string" == typeof i) indent = i;
            rep = t;
            if (t && "function" != typeof t && ("object" != typeof t || "number" != typeof t.length)) throw new Error("JSON.stringify");
            return str("", {"": e})
        }
    }
    if ("function" != typeof JSON.parse) {
        cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
        JSON.parse = function (text, reviver) {
            function walk(e, t) {
                var i, n, s = e[t];
                if (s && "object" == typeof s) for (i in s) if (Object.prototype.hasOwnProperty.call(s, i)) {
                    n = walk(s, i);
                    if (void 0 !== n) s[i] = n; else delete s[i]
                }
                return reviver.call(e, t, s)
            }

            var j;
            text = String(text);
            cx.lastIndex = 0;
            if (cx.test(text)) text = text.replace(cx, function (e) {
                return "\\u" + ("0000" + e.charCodeAt(0).toString(16)).slice(-4)
            });
            if (/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) {
                j = eval("(" + text + ")");
                return "function" == typeof reviver ? walk({"": j}, "") : j
            }
            throw new SyntaxError("JSON.parse")
        }
    }
}();
var RSAPublicKey = function (e, t) {
    this.modulus = new BigInteger(Hex.encode(e), 16);
    this.encryptionExponent = new BigInteger(Hex.encode(t), 16)
};
var UTF8 = {
    encode: function (e) {
        e = e.replace(/\r\n/g, "\n");
        var t = "";
        for (var i = 0; i < e.length; i++) {
            var n = e.charCodeAt(i);
            if (n < 128) t += String.fromCharCode(n); else if (n > 127 && n < 2048) {
                t += String.fromCharCode(n >> 6 | 192);
                t += String.fromCharCode(63 & n | 128)
            } else {
                t += String.fromCharCode(n >> 12 | 224);
                t += String.fromCharCode(n >> 6 & 63 | 128);
                t += String.fromCharCode(63 & n | 128)
            }
        }
        return t
    }, decode: function (e) {
        var t = "";
        var i = 0;
        var n = $c1 = $c2 = 0;
        for (; i < e.length;) {
            n = e.charCodeAt(i);
            if (n < 128) {
                t += String.fromCharCode(n);
                i++
            } else if (n > 191 && n < 224) {
                $c2 = e.charCodeAt(i + 1);
                t += String.fromCharCode((31 & n) << 6 | 63 & $c2);
                i += 2
            } else {
                $c2 = e.charCodeAt(i + 1);
                $c3 = e.charCodeAt(i + 2);
                t += String.fromCharCode((15 & n) << 12 | (63 & $c2) << 6 | 63 & $c3);
                i += 3
            }
        }
        return t
    }
};
var Base64 = {
    base64: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", encode: function (e) {
        if (!e) return !1;
        var t = "";
        var i, n, s;
        var r, a, o, c;
        var _ = 0;
        do {
            i = e.charCodeAt(_++);
            n = e.charCodeAt(_++);
            s = e.charCodeAt(_++);
            r = i >> 2;
            a = (3 & i) << 4 | n >> 4;
            o = (15 & n) << 2 | s >> 6;
            c = 63 & s;
            if (isNaN(n)) o = c = 64; else if (isNaN(s)) c = 64;
            t += this.base64.charAt(r) + this.base64.charAt(a) + this.base64.charAt(o) + this.base64.charAt(c)
        } while (_ < e.length);
        return t
    }, decode: function (e) {
        if (!e) return !1;
        e = e.replace(/[^A-Za-z0-9\+\/\=]/g, "");
        var t = "";
        var i, n, s, r;
        var a = 0;
        do {
            i = this.base64.indexOf(e.charAt(a++));
            n = this.base64.indexOf(e.charAt(a++));
            s = this.base64.indexOf(e.charAt(a++));
            r = this.base64.indexOf(e.charAt(a++));
            t += String.fromCharCode(i << 2 | n >> 4);
            if (64 != s) t += String.fromCharCode((15 & n) << 4 | s >> 2);
            if (64 != r) t += String.fromCharCode((3 & s) << 6 | r)
        } while (a < e.length);
        return t
    }
};
var Hex = {
    hex: "0123456789abcdef", encode: function (e) {
        if (!e) return !1;
        var t = "";
        var i;
        var n = 0;
        do {
            i = e.charCodeAt(n++);
            t += this.hex.charAt(i >> 4 & 15) + this.hex.charAt(15 & i)
        } while (n < e.length);
        return t
    }, decode: function (e) {
        if (!e) return !1;
        e = e.replace(/[^0-9abcdef]/g, "");
        var t = "";
        var i = 0;
        do t += String.fromCharCode(this.hex.indexOf(e.charAt(i++)) << 4 & 240 | 15 & this.hex.indexOf(e.charAt(i++))); while (i < e.length);
        return t
    }
};
var ASN1Data = function (e) {
    this.error = !1;
    this.parse = function (e) {
        if (!e) {
            this.error = !0;
            return null
        }
        var t = [];
        for (; e.length > 0;) {
            var i = e.charCodeAt(0);
            e = e.substr(1);
            var n = 0;
            if (5 == (31 & i)) e = e.substr(1); else if (128 & e.charCodeAt(0)) {
                var s = 127 & e.charCodeAt(0);
                e = e.substr(1);
                if (s > 0) n = e.charCodeAt(0);
                if (s > 1) n = n << 8 | e.charCodeAt(1);
                if (s > 2) {
                    this.error = !0;
                    return null
                }
                e = e.substr(s)
            } else {
                n = e.charCodeAt(0);
                e = e.substr(1)
            }
            var r = "";
            if (n) {
                if (n > e.length) {
                    this.error = !0;
                    return null
                }
                r = e.substr(0, n);
                e = e.substr(n)
            }
            if (32 & i) t.push(this.parse(r)); else t.push(this.value(128 & i ? 4 : 31 & i, r))
        }
        return t
    };
    this.value = function (e, t) {
        if (1 == e) return t ? !0 : !1; else if (2 == e) return t; else if (3 == e) return this.parse(t.substr(1)); else if (5 == e) return null; else if (6 == e) {
            var i = [];
            var n = t.charCodeAt(0);
            i.push(Math.floor(n / 40));
            i.push(n - 40 * i[0]);
            var s = [];
            var r = 0;
            var a;
            for (a = 1; a < t.length; a++) {
                var o = t.charCodeAt(a);
                s.push(127 & o);
                if (128 & o) r++; else {
                    var c;
                    var _ = 0;
                    for (c = 0; c < s.length; c++) _ += s[c] * Math.pow(128, r--);
                    i.push(_);
                    r = 0;
                    s = []
                }
            }
            return i.join(".")
        }
        return null
    };
    this.data = this.parse(e)
};
var RSA = {
    getPublicKey: function (e) {
        if (e.length < 50) return !1;
        if ("-----BEGIN PUBLIC KEY-----" != e.substr(0, 26)) return !1;
        e = e.substr(26);
        if ("-----END PUBLIC KEY-----" != e.substr(e.length - 24)) return !1;
        e = e.substr(0, e.length - 24);
        e = new ASN1Data(Base64.decode(e));
        if (e.error) return !1;
        e = e.data;
        if ("1.2.840.113549.1.1.1" == e[0][0][0]) return new RSAPublicKey(e[0][1][0][0], e[0][1][0][1]); else return !1
    }, encrypt: function (e, t) {
        if (!t) return !1;
        var i = t.modulus.bitLength() + 7 >> 3;
        e = this.pkcs1pad2(e, i);
        if (!e) return !1;
        e = e.modPowInt(t.encryptionExponent, t.modulus);
        if (!e) return !1;
        e = e.toString(16);
        for (; e.length < 2 * i;) e = "0" + e;
        return Base64.encode(Hex.decode(e))
    }, decrypt: function (e) {
        var t = new BigInteger(e, 16)
    }, pkcs1pad2: function (e, t) {
        if (t < e.length + 11) return null;
        var i = [];
        var n = e.length - 1;
        for (; n >= 0 && t > 0;) i[--t] = e.charCodeAt(n--);
        i[--t] = 0;
        for (; t > 2;) i[--t] = Math.floor(254 * Math.random()) + 1;
        i[--t] = 2;
        i[--t] = 0;
        return new BigInteger(i)
    }
};
var MpUtil = function () {
    var e = function (e, t, i) {
        e.addEventListener ? e.addEventListener(t, i, !1) : e.attachEvent("on" + t, i)
    };
    var t = function (e, t, i) {
        e.removeEventListener ? e.removeEventListener(t, i, !1) : e.detachEvent("on" + t, i)
    };
    var i = function () {
        var e = +new Date;
        return function () {
            return "" + e++
        }
    }();
    var n = function (e, t) {
        try {
            t = t.toLowerCase();
            if (null === e) return "null" == t;
            if (void 0 === e) return "undefined" == t; else return Object.prototype.toString.call(e).toLowerCase() == "[object " + t + "]"
        } catch (i) {
            return !1
        }
    };
    return {addEvent: e, clearEvent: t, uniqueId: i, isTypeOf: n}
}();
var MpRequest = function () {
    var e;
    var t = "zc.reg.163.com/resources/mp-agent-finger.html?WEBZJVersion=1545120854094";
    var i = "MP-DATA:";
    var n = "MP-COOKIE:";
    var s = "MP_AGENT_READY";
    var r = !1;
    var a = !1;
    var o = [];
    var c;
    var _ = {};
    var d = {};
    var f, h, l, u, p, m, v, g, b;
    var $;
    var N = function () {
        r = !0;
        var t = function (e, t) {
            var i = f(t);
            var n = "https://pr.nss.netease.com/sentry/passive?uapi=" + encodeURIComponent(e) + "&thttpresponse=" + i;
            var s = 1e3 * Math.random(), r;
            if (s <= 1) {
                n = n + "&dataTime=" + (new Date).getTime() + "&clusterName=urs-webzj-static-passive&modelName=webzj_response_time";
                r = document.createElement("img");
                r.style.width = "0px";
                r.style.height = "0px";
                r.style.position = "absolute";
                document.body.appendChild(r);
                r.src = n;
                setTimeout(function () {
                    document.body.removeChild(r)
                }, 1e4)
            }
        };
        var f = function (e) {
            var t = 1;
            if (e > 2e4) t = 10; else if (e > 1e4) t = 9; else if (e > 2e3) t = 8; else if (e > 1e3) t = 7; else if (e > 500) t = 6; else if (e > 200) t = 5; else if (e > 90) t = 4; else if (e > 60) t = 3; else if (e > 30) t = 2;
            return t
        };
        m = function (r) {
            var f = r.data, h;
            if (f !== s) {
                if ("object" == typeof f) f = JSON.stringify(f);
                if (0 !== f.indexOf(n)) {
                    if (0 === f.indexOf(i)) {
                        f = JSON.parse(f.replace(i, ""));
                        h = _[f.key];
                        delete _[f.key];
                        if (0 !== ("" + f.status).indexOf("2")) {
                            var u = {ret: "" + f.status};
                            if ("-1" == f.status) t(h.logPath, 10001); else t(h.logPath, 2e4 + parseInt(f.status));
                            h && h.error(u)
                        } else {
                            f.result = JSON.parse(decodeURIComponent(f.result || "{}"));
                            f.result.time = f.time;
                            t(h.logPath, f.time);
                            h && h.success(f.result)
                        }
                    }
                } else {
                    f = JSON.parse(f.replace(n, ""));
                    h = d[f.key];
                    delete d[f.key];
                    h(f.cookieValue)
                }
            } else {
                a = !0;
                var p = (new Date).getTime() - $;
                var m = window._$needUrsBgp && window._$BGP ? "BGP" : "notBGP";
                t("zc-iframe-" + m, p);
                for (var v = 0, g = o.length; v < g; v++) c(e.contentWindow, {data: o[v]});
                clearTimeout(l)
            }
        };
        if (!window.postMessage) {
            var h = "MSGREGISTER|", v = [];
            var g = function () {
                var e = function (e) {
                    var t = {}, i = e.split("|");
                    for (var n = 0, s = i.length, r; n < s; n++) {
                        r = i[n].split("=");
                        t[decodeURIComponent(r.shift())] = decodeURIComponent(r.join("="))
                    }
                    return t
                };
                return function () {
                    var t = unescape(window.name || "");
                    if (t && 0 == t.indexOf(h)) {
                        window.name = "";
                        t = t.replace(h, "");
                        var i = e(t), n = (i.origin || "").toLowerCase();
                        if (!n || "*" == n || 0 == location.href.toLowerCase().indexOf(n)) m({
                            data: JSON.parse(i.data || "null"),
                            origin: document.referrer
                        })
                    }
                }
            }();
            var b = function () {
                var e;
                var t = function (e, t) {
                    for (var i = 0, n = e.length; i < n; i++) if (e[i] == t) return !0;
                    return !1
                };
                return function () {
                    if (v.length) {
                        e = [];
                        for (var i = v.length - 1, n; i >= 0; i--) {
                            n = v[i];
                            if (!t(e, n.w)) {
                                e.push(n.w);
                                v.splice(i, 1);
                                n.w.name = n.d
                            }
                        }
                        e = null
                    }
                }
            }();
            c = function () {
                var e = function (e) {
                    var t = [];
                    for (var i in e) t.push(encodeURIComponent(i) + "=" + encodeURIComponent(e[i]));
                    return t.join("|")
                };
                var t = function (t) {
                    var i = {};
                    t = t || {};
                    i.origin = t.origin || "*";
                    i.ref = location.href;
                    i.data = JSON.stringify(t.data);
                    return h + e(i)
                };
                return function (e, i) {
                    v.unshift({w: e, d: escape(t(i))})
                }
            }();
            u = window.setInterval(b, 100);
            p = window.setInterval(g, 20)
        } else {
            c = function (e, t) {
                t = t || {};
                e.postMessage(JSON.stringify(t.data), t.origin || "*")
            };
            MpUtil.addEvent(window, "message", m)
        }
    };
    var A = function () {
        return function (e) {
            e = e || {};
            var t;
            t = document.createElement("iframe");
            t.frameBorder = 0;
            t.style.position = "absolute";
            t.style.width = 0;
            t.style.height = 0;
            t.id = "id-" + MpUtil.uniqueId();
            document.body.appendChild(t);
            var i = e.src;
            window.setTimeout(function () {
                t.src = i
            }, 0);
            return t
        }
    }();
    var y = function (e) {
        u = window.clearInterval(u);
        p = window.clearInterval(p);
        MpUtil.clearEvent(window, "message", m);
        v = 1;
        N({timeout: e.timeout})
    };
    var w = function () {
        var i = function (e) {
            return e.replace("dl.reg.163.com", "dl2.reg.163.com").replace("zc.reg.163.com", "zc2.reg.163.com").replace("passport.", "passport2.").replace("reg.icourse163.org", "reg2.icourse163.org")
        };
        var n = function (e) {
            var t = [];
            for (var i in e) t.push(encodeURIComponent(i) + "=" + encodeURIComponent(e[i]));
            return t.join("&")
        };
        return function (s, d) {
            var u;
            s = s || {};
            var p = MpUtil.uniqueId();
            if (!r) {
                f = p;
                l = setTimeout(function () {
                    _[f].error({ret: "-2"});
                    delete _[f]
                }, window._$bgpTime2);
                N({timeout: s.timeout})
            }
            if (window._$needUrsBgp && window._$BGPZC && !v) {
                l = window.clearTimeout(l);
                h = p;
                l = setTimeout(function () {
                    _[h].error({ret: "-2"});
                    delete _[h]
                }, window._$bgpTime2);
                y(s)
            }
            var m = s.url.indexOf("/yd/") >= 0 ? "yd-" + d : d;
            m = m.replace(/\//g, "");
            m = "zc-" + m;
            _[p] = {success: s.success, error: s.error, logPath: m};
            if (window._$needUrsBgp && window._$BGPZC && e && !g) {
                var w = e.contentWindow;
                if (e) {
                    e.src = "about:blank";
                    try {
                        w.document.write("");
                        w.document.clear()
                    } catch (C) {
                    }
                }
                document.body.removeChild(e);
                window.CollectGarbage && window.CollectGarbage();
                e = null;
                a = !1;
                g = 0;
                b = 1;
                for (var k = 0; k < o.length; k++) {
                    var E = o[k].url;
                    if (o[k].key != f) o[k].url = i(E); else ;
                }
                for (var T = 0; T < o.length; T++) if (o[T].key == f) {
                    o.shift();
                    break
                }
            } else if ("/ini" == d || "/nini" == d) o = [];
            if ("get" === s.type.toLowerCase()) {
                var M = s.url;
                var x = M.indexOf("?") < 0 ? "?" : "&";
                s.data.nocache = p;
                var S = n(s.data);
                if (S) M += x + S;
                s.url = M
            }
            var I = {};
            I.isInit = s.isInit || "";
            if (s.data) I.rtid = s.data.rtid || "";
            I.key = p;
            I.data = "get" === s.type.toLowerCase() ? null : s.data;
            I.headers = {};
            I.headers["Content-Type"] = s.contentType || "application/x-www-form-urlencoded";
            if ("application/x-www-form-urlencoded" == I.headers["Content-Type"]) {
                s.data = JSON.parse(s.data);
                I.data = n(s.data)
            }
            I.method = s.type;
            I.timeout = s.timeout || 1e4;
            I.url = s.url;
            if (!e) {
                if (window["$regCookieDomain"]) if (window["$regCookieDomain"].indexOf("icourse163.org") >= 0) t = t.replace("zc.reg.163.com", "reg." + window["$regCookieDomain"] + "/zc"); else t = t.replace("zc.reg.163.com", "passport." + window["$regCookieDomain"] + "/zc");
                t = t + "&pkid=" + window._$PKID + "&product=" + window._$PRODUCT;
                u = window.REGPROTOCOL + t;
                if (window._$needUrsBgp && window._$BGPZC) {
                    g = 1;
                    u = i(u)
                }
                $ = (new Date).getTime();
                e = A({src: u})
            }
            if (!a) if (b && o.length > 0) b = 0; else o.push(I); else c(e.contentWindow, {data: I})
        }
    }();
    var C = function () {
        return function (t, i) {
            var n = MpUtil.uniqueId();
            d[n] = i;
            var s = {fromWEBZJ: 1, key: n, cookieKey: t};
            c(e.contentWindow, {data: s})
        }
    }();
    return {request: w, getCookie: C, reset: y}
}();
var MpRequest2 = function () {
    var e;
    var t = "dl.reg.163.com/src/mp-agent-finger.html?WEBZJVersion=1545120854094";
    var i = "MP2-DATA:";
    var n = "MP2-COOKIE:";
    var s = "MP2_AGENT_READY";
    var r = !1;
    var a = !1;
    var o = [];
    var c;
    var _ = {};
    var d = {};
    var f, h, l, u, p, m, v, g, b;
    var $;
    var N = function (e) {
        return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*" + encodeURIComponent(e).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1")) || null
    };
    var A = function () {
        r = !0;
        var t = function (e, t) {
            var i = f(t);
            var n = "https://pr.nss.netease.com/sentry/passive?uapi=" + encodeURIComponent(e) + "&thttpresponse=" + i;
            var s = 1e3 * Math.random(), r;
            if (s <= 1) {
                n = n + "&dataTime=" + (new Date).getTime() + "&clusterName=urs-webzj-static-passive&modelName=webzj_response_time";
                r = document.createElement("img");
                r.style.width = "0px";
                r.style.height = "0px";
                r.style.position = "absolute";
                document.body.appendChild(r);
                r.src = n;
                setTimeout(function () {
                    document.body.removeChild(r)
                }, 1e4)
            }
        };
        var f = function (e) {
            var t = 1;
            if (e > 2e4) t = 10; else if (e > 1e4) t = 9; else if (e > 2e3) t = 8; else if (e > 1e3) t = 7; else if (e > 500) t = 6; else if (e > 200) t = 5; else if (e > 90) t = 4; else if (e > 60) t = 3; else if (e > 30) t = 2;
            return t
        };
        m = function (r) {
            var f = r.data, h;
            if (f !== s) {
                if ("object" == typeof f) f = JSON.stringify(f);
                if (0 !== f.indexOf(n)) {
                    if (0 === f.indexOf(i)) {
                        f = JSON.parse(f.replace(i, ""));
                        h = _[f.key];
                        delete _[f.key];
                        if (0 !== ("" + f.status).indexOf("2")) {
                            var u = {ret: "" + f.status};
                            if ("-1" == f.status) t(h.logPath, 10001); else t(h.logPath, 2e4 + parseInt(f.status));
                            h && h.error(u)
                        } else {
                            f.result = JSON.parse(decodeURIComponent(f.result || "{}"));
                            f.result.time = f.time;
                            t(h.logPath, f.time);
                            h && h.success(f.result)
                        }
                    }
                } else {
                    f = JSON.parse(f.replace(n, ""));
                    h = d[f.key];
                    delete d[f.key];
                    h(f.cookieValue)
                }
            } else {
                a = !0;
                var p = (new Date).getTime() - $;
                var m = window._$needUrsBgp && window._$BGP ? "BGP" : "notBGP";
                t("dl-iframe-" + m, p);
                for (var v = 0, g = o.length; v < g; v++) c(e.contentWindow, {data: o[v]});
                clearTimeout(l)
            }
        };
        if (!window.postMessage) {
            var h = "MSGLOGIN|", v = [];
            var g = function () {
                var e = function (e) {
                    var t = {}, i = e.split("|");
                    for (var n = 0, s = i.length, r; n < s; n++) {
                        r = i[n].split("=");
                        t[decodeURIComponent(r.shift())] = decodeURIComponent(r.join("="))
                    }
                    return t
                };
                return function () {
                    var t = unescape(window.name || "");
                    if (t && 0 == t.indexOf(h)) {
                        window.name = "";
                        t = t.replace(h, "");
                        var i = e(t), n = (i.origin || "").toLowerCase();
                        if (!n || "*" == n || 0 == location.href.toLowerCase().indexOf(n)) m({
                            data: JSON.parse(i.data || "null"),
                            origin: document.referrer
                        })
                    }
                }
            }();
            var b = function () {
                var e;
                var t = function (e, t) {
                    for (var i = 0, n = e.length; i < n; i++) if (e[i] == t) return !0;
                    return !1
                };
                return function () {
                    if (v.length) {
                        e = [];
                        for (var i = v.length - 1, n; i >= 0; i--) {
                            n = v[i];
                            if (!t(e, n.w)) {
                                e.push(n.w);
                                v.splice(i, 1);
                                n.w.name = n.d
                            }
                        }
                        e = null
                    }
                }
            }();
            c = function () {
                var e = function (e) {
                    var t = [];
                    for (var i in e) t.push(encodeURIComponent(i) + "=" + encodeURIComponent(e[i]));
                    return t.join("|")
                };
                var t = function (t) {
                    var i = {};
                    t = t || {};
                    i.origin = t.origin || "*";
                    i.ref = location.href;
                    i.data = JSON.stringify(t.data);
                    return h + e(i)
                };
                return function (e, i) {
                    v.unshift({w: e, d: escape(t(i))})
                }
            }();
            u = window.setInterval(b, 100);
            p = window.setInterval(g, 20)
        } else {
            c = function (e, t) {
                t = t || {};
                e.postMessage(JSON.stringify(t.data), t.origin || "*")
            };
            MpUtil.addEvent(window, "message", m)
        }
    };
    var y = function () {
        return function (e) {
            e = e || {};
            var t;
            t = document.createElement("iframe");
            t.frameBorder = 0;
            t.style.position = "absolute";
            t.style.width = 0;
            t.style.height = 0;
            t.id = "id-" + MpUtil.uniqueId();
            document.body.appendChild(t);
            var i = e.src;
            window.setTimeout(function () {
                t.src = i
            }, 0);
            return t
        }
    }();
    var w = function (e) {
        u = window.clearInterval(u);
        p = window.clearInterval(p);
        MpUtil.clearEvent(window, "message", m);
        v = 1;
        A({timeout: e.timeout})
    };
    var C = function () {
        var i = function (e) {
            return e.replace("dl.reg.163.com", "dl2.reg.163.com").replace("zc.reg.163.com", "zc2.reg.163.com").replace("passport.", "passport2.").replace("reg.icourse163.org", "reg2.icourse163.org")
        };
        var n = function (e) {
            var t = [];
            for (var i in e) t.push(encodeURIComponent(i) + "=" + encodeURIComponent(e[i]));
            return t.join("&")
        };
        return function (s, d) {
            var u;
            s = s || {};
            var p = MpUtil.uniqueId();
            if (!r) {
                f = p;
                l = setTimeout(function () {
                    _[f].error({ret: "-2"});
                    delete _[f]
                }, window._$bgpTime2);
                A({timeout: s.timeout})
            }
            if (window._$needUrsBgp && window._$BGP && !v) {
                l = window.clearTimeout(l);
                h = p;
                l = setTimeout(function () {
                    _[h].error({ret: "-2"});
                    delete _[h]
                }, window._$bgpTime2);
                w(s)
            }
            var m = s.url.indexOf("/yd/") >= 0 ? "yd-" + d : d;
            m = m.replace(/\//g, "");
            m = "dl-" + m;
            _[p] = {success: s.success, error: s.error, logPath: m};
            if (window._$needUrsBgp && window._$BGP && e && !g) {
                var C = e.contentWindow;
                if (e) {
                    e.src = "about:blank";
                    try {
                        C.document.write("");
                        C.document.clear()
                    } catch (k) {
                    }
                }
                document.body.removeChild(e);
                window.CollectGarbage && window.CollectGarbage();
                e = null;
                a = !1;
                g = 0;
                b = 1;
                for (var E = 0; E < o.length; E++) {
                    var T = o[E].url;
                    if (o[E].key != f) o[E].url = i(T); else ;
                }
                for (var M = 0; M < o.length; M++) if (o[M].key == f) {
                    o.shift();
                    break
                }
            } else if ("/ini" == d || "/nini" == d) o = [];
            if ("get" === s.type.toLowerCase()) {
                var x = s.url;
                var S = x.indexOf("?") < 0 ? "?" : "&";
                s.data.nocache = p;
                var I = n(s.data);
                if (I) x += S + I;
                s.url = x
            }
            var P = {};
            P.isInit = s.isInit || "";
            if (s.data) P.rtid = s.data.rtid || "";
            P.key = p;
            P.data = "get" === s.type.toLowerCase() ? null : s.data;
            P.headers = {};
            P.headers["Content-Type"] = s.contentType || "application/x-www-form-urlencoded";
            if ("application/x-www-form-urlencoded" == P.headers["Content-Type"]) {
                s.data = JSON.parse(s.data);
                P.data = n(s.data)
            }
            P.method = s.type;
            P.timeout = s.timeout || 1e4;
            P.url = s.url;
            P.ydSignCookie = N("l_yd_sign");
            if (!e) {
                if (window["$cookieDomain"]) if (window["$cookieDomain"].indexOf("icourse163.org") >= 0) t = t.replace("dl.reg.163.com", "reg." + window["$cookieDomain"] + "/dl"); else t = t.replace("dl.reg.163.com", "passport." + window["$cookieDomain"] + "/dl");
                t = t + "&pkid=" + window._$PKID + "&product=" + window._$PRODUCT;
                u = window.PROTOCOL + t;
                if (window._$needUrsBgp && window._$BGP) {
                    g = 1;
                    u = i(u)
                }
                if (window._$pathB) u = u.replace(/:\/\/(?:[^\/]+)/, function (e) {
                    return e + "/b"
                });
                $ = (new Date).getTime();
                e = y({src: u})
            }
            if (!a) if (b && o.length > 0) b = 0; else o.push(P); else c(e.contentWindow, {data: P})
        }
    }();
    var k = function () {
        return function (t, i) {
            var n = MpUtil.uniqueId();
            d[n] = i;
            var s = {key: n, cookieKey: t};
            c(e.contentWindow, {data: s})
        }
    }();
    return {request: C, getCookie: k, reset: w}
}();
var MP = function () {
    var e = "zc.reg.163.com", t = "ntes_zc_",
        i = "-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5gsH+AA4XWONB5TDcUd+xCz7ejOFHZKlcZDx+pF1i7Gsvi1vjyJoQhRtRSn950x498VUkx7rUxg1/ScBVfrRxQOZ8xFBye3pjAzfb22+RCuYApSVpJ3OO3KsEuKExftz9oFBv3ejxPlYc5yq7YiBO8XlTnQN0Sa4R4qhPO3I2MQIDAQAB-----END PUBLIC KEY-----",
        n = "dl.reg.163.com";
    var s = function (e) {
        var t = "&";
        if (e.indexOf("?") == -1) {
            e += "?";
            t = ""
        }
        e = e + t + "rtid=" + window._$RTID;
        return e
    };
    var r = function () {
        var e = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", t = 32, i = [];
        for (; t-- > 0;) i[t] = e.charAt(Math.random() * e.length);
        return i.join("")
    };
    var a = function (e) {
        var t = "&";
        if (e.indexOf("?") == -1) {
            e += "?";
            t = ""
        }
        e = e + t + "topURL=" + encodeURIComponent(window._$TOPURL);
        return e
    };
    var o = function (e) {
        return e.replace("dl.reg.163.com", "dl2.reg.163.com").replace("zc.reg.163.com", "zc2.reg.163.com").replace("passport.", "passport2.").replace("reg.icourse163.org", "reg2.icourse163.org")
    };
    var c = function (e) {
        var t = "&";
        if (e.indexOf("?") == -1) {
            e += "?";
            t = ""
        }
        if (window._$URSOPT.opd) e = e + t + "opd=" + window._$URSOPT.opd;
        if (window._$URSOPT.opkid) e = e + "&opkid=" + window._$URSOPT.opkid;
        return e
    };
    var _ = function (e) {
        if (window._$pathB) e = e.replace(/:\/\/(?:[^\/]+)/, function (e) {
            return e + "/b"
        });
        return e
    }, d = function (t) {
        var i = t.data, n = (t.host ? t.host : e) + t.path;
        var s = t.isLogin;
        var a = t.isInit || "";
        if (s) {
            if (window._$needUrsBgp && window._$BGP) n = o(n)
        } else if (window._$needUrsBgp && window._$BGPZC) n = o(n);
        if ("string" == typeof i) i = JSON.parse(i);
        if (a) window._$RTID = r();
        i.rtid = window._$RTID;
        delete i.isleak;
        f(i);
        if (!s) n = window.REGPROTOCOL + n; else n = window.PROTOCOL + n;
        var c = 1e4;
        if (s) {
            if (window._$URSOPT.opd) i.opd = window._$URSOPT.opd;
            if (window._$URSOPT.opkid) i.opkid = window._$URSOPT.opkid;
            n = _(n)
        }
        if ("POST" == t.type) i = JSON.stringify(i);
        var d = s ? {
            isInit: a,
            url: n,
            type: t.type,
            data: i,
            contentType: t.contentType || "application/json",
            dataType: t.dataType || "json",
            timeout: c,
            success: function (e) {
                var i = e && e.ret;
                if (201 != i) t.error(t.path, e); else t.success(t.path, e)
            },
            error: function () {
                var e = Array.prototype.slice.call(arguments);
                e.unshift(t.path);
                t.error.apply(null, e)
            }
        } : {
            isInit: a,
            url: n,
            type: t.type,
            data: i,
            contentType: t.contentType || "application/json",
            dataType: t.dataType || "json",
            timeout: c,
            success: function (e) {
                if (e && e.ret && ("102" === e.ret || "104" === e.ret || "200" === e.ret || "201" === e.ret || "202" === e.ret)) t.success(t.path, e); else t.error(t.path, e)
            },
            error: function () {
                var e = Array.prototype.slice.call(arguments);
                e.unshift(t.path);
                t.error.apply(null, e)
            }
        };
        if (s) MpRequest2.request(d, t.path); else MpRequest.request(d, t.path)
    };
    var f = function (e) {
        try {
            e.topURL = window._$TOPURL
        } catch (t) {

        }
    };
    return {
        promarkIdData: {}, TICKET: "", encrypt: function (e, t) {
            var n = RSA.getPublicKey(i);
            return RSA.encrypt(e + "`" + t, n)
        }, encrypt2: function (e) {
            var t = RSA.getPublicKey(i);
            return RSA.encrypt(e, t)
        }, getCookieId: function (e, t) {
            MpRequest2.getCookie(e, t)
        }, getId: function (e, i) {
            MpRequest.getCookie(t + e, i)
        }, regvftcp: function (e, t, i, n) {
            d({path: "/vftcp", type: "GET", data: e, success: t, error: i, host: n, isLogin: 0})
        }, regvfccp: function (e, t, i, n) {
            d({path: "/vfccp", type: "GET", data: e, success: t, error: i, host: n, isLogin: 0})
        }, init: function (e, t, i, n) {
            d({path: "/ini", type: "GET", data: e, success: t, error: i, host: n, isLogin: 0, isInit: 1})
        }, getCaptcha: function (t) {
            if (!t) return "";
            var i = e, n = window["$regCookieDomain"];
            if (n) if (n.indexOf("icourse163.org") >= 0) i = "reg." + n + "/zc"; else i = "passport." + n + "/zc";
            if (window._$needUrsBgp && window._$BGPZC) i = o(i);
            var r = window.REGPROTOCOL + i + "/cp?channel=2&id=" + t + "&nocache=" + window.MpUtil.uniqueId();
            r = s(r);
            r = a(r);
            return r
        }, checkCaptcha: function (e, t, i, n) {
            d({
                path: "/vfcp",
                type: "POST",
                contentType: "application/x-www-form-urlencoded",
                data: e,
                success: t,
                error: i,
                host: n,
                isLogin: 0
            })
        }, checkName: function (e, t, i, n) {
            d({path: "/chn", type: "GET", data: e, success: t, error: i, host: n, isLogin: 0})
        }, getMobileSms: function (e, t, i, n) {
            d({path: "/sm", type: "GET", data: e, success: t, error: i, host: n, isLogin: 0})
        }, getMailSms: function (e, t, i, n) {
            d({path: "/mlrgsm", type: "GET", data: e, success: t, error: i, host: n, isLogin: 0})
        }, getTicket: function (e, t, i, n) {
            d({
                path: "/gt",
                type: "POST",
                contentType: "application/json",
                data: JSON.stringify(e),
                success: t,
                error: i,
                host: n,
                isLogin: 0
            })
        }, setTicket: function (e) {
            MP.TICKET = e || ""
        }, regMob: function (e, t, i, n) {
            d({
                path: "/mrg",
                type: "POST",
                contentType: "application/json",
                data: JSON.stringify(e),
                success: t,
                error: i,
                host: n,
                isLogin: 0
            })
        }, fastReg: function (e, t, i, n) {
            d({
                path: "/frg",
                type: "POST",
                contentType: "application/json",
                data: JSON.stringify(e),
                success: t,
                error: i,
                host: n,
                isLogin: 0
            })
        }, sendActMail: function (e, t, i, n) {
            d({path: "/sendActMail", type: "GET", data: e, success: t, error: i, host: n, isLogin: 0})
        }, qrlogin: function (e, t, i, n) {
            d({path: "/qrcodel", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, getCaptchaLogin: function (e, t, i) {
            var r = n;
            if (i) if (i.indexOf("icourse163.org") >= 0) r = "reg." + i + "/dl"; else r = "passport." + i + "/dl";
            if (window._$needUrsBgp && window._$BGP) r = o(r);
            var d = window.PROTOCOL + r + "/cp?pd=" + e + "&pkid=" + t + "&random=" + window.MpUtil.uniqueId();
            d = _(d);
            d = c(d);
            d = s(d);
            d = a(d);
            return d
        }, safelogin: function (e, t, i, n) {
            d({path: "/l", type: "POST", data: e, success: t, error: i, host: n, isLogin: 1})
        }, llp: function (e, t, i, n) {
            d({
                path: "/llp",
                type: "POST",
                contentType: "application/x-www-form-urlencoded",
                data: e,
                success: t,
                error: i,
                host: n,
                isLogin: 1
            })
        }, sendSmsLogin: function (e, t, i, n) {
            d({path: "/sm", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, initComponentLogin: function (e, t, i, n) {
            d({path: "/ini", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1, isInit: 1})
        }, checkSmsCode: function (e, t, i, n) {
            d({
                path: "/vfcp",
                type: "POST",
                contentType: "application/x-www-form-urlencoded",
                data: e,
                success: t,
                error: i,
                host: n,
                isLogin: 1
            })
        }, vfsms: function (e, t, i, n) {
            d({
                path: "/vfsms",
                type: "POST",
                contentType: "application/x-www-form-urlencoded",
                data: e,
                success: t,
                error: i,
                host: n,
                isLogin: 1
            })
        }, getLoginTicket: function (e, t, i, n) {
            d({path: "/gt", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, vftcp: function (e, t, i, n) {
            d({path: "/vftcp", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, vfccp: function (e, t, i, n) {
            d({path: "/vfccp", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, getPP: function (e, t, i, n) {
            d({path: "/pp", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, vfppc: function (e, t, i, n) {
            d({
                path: "/vfppc",
                type: "POST",
                contentType: "application/x-www-form-urlencoded",
                data: e,
                success: t,
                error: i,
                host: n,
                isLogin: 1
            })
        }, vfotp: function (e, t, i, n) {
            d({
                path: "/vfotp",
                type: "POST",
                contentType: "application/x-www-form-urlencoded",
                data: e,
                success: t,
                error: i,
                host: n,
                isLogin: 1
            })
        }, mbsm: function (e, t, i, n) {
            d({path: "/mbsm", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, vfmbsms: function (e, t, i, n) {
            d({
                path: "/vfmbsms",
                type: "POST",
                contentType: "application/x-www-form-urlencoded",
                data: e,
                success: t,
                error: i,
                host: n,
                isLogin: 1
            })
        }, goonlog: function (e, t, i, n) {
            d({path: "/go", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, "mb-qrlogin": function (e, t, i, n) {
            d({path: "/qrcodel", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, "mb-login": function (e, t, i, n) {
            d({path: "/lpwd", type: "POST", data: e, success: t, error: i, host: n, isLogin: 1})
        }, "mb-gt": function (e, t, i, n) {
            d({path: "/gt", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, "mb-ini": function (e, t, i, n) {
            d({path: "/ini", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1, isInit: 1})
        }, "mb-vfcp": function (e, t, i, n) {
            d({
                path: "/vfcp",
                type: "POST",
                contentType: "application/x-www-form-urlencoded",
                data: e,
                success: t,
                error: i,
                host: n,
                isLogin: 1
            })
        }, "mb-cp": function (e, t, i) {
            var r = n;
            if (i) if (i.indexOf("icourse163.org") >= 0) r = "reg." + i + "/dl"; else r = "passport." + i + "/dl";
            if (window._$needUrsBgp && window._$BGP) r = o(r);
            var d = window.PROTOCOL + r + "/yd/cp?pd=" + e + "&pkid=" + t + "&random=" + window.MpUtil.uniqueId();
            d = _(d);
            d = c(d);
            d = s(d);
            d = a(d);
            return d
        }, "mb-lvfsms": function (e, t, i, n) {
            d({path: "/lvfsms", type: "POST", data: e, success: t, error: i, host: n, isLogin: 1})
        }, "mb-vftcp": function (e, t, i, n) {
            d({path: "/vftcp", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, "mb-vfccp": function (e, t, i, n) {
            d({path: "/vfccp", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, "mb-sms-lsm": function (e, t, i, n) {
            d({path: "/lsm", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, "mb-reg-ini": function (e, t, i, n) {
            d({path: "/ini", type: "GET", data: e, success: t, error: i, host: n, isLogin: 0, isInit: 1})
        }, "mb-reg-chn": function (e, t, i, n) {
            d({path: "/chn", type: "GET", data: e, success: t, error: i, host: n, isLogin: 0})
        }, "mb-reg-cp": function (t) {
            var i = window["$regCookieDomain"];
            var n = e;
            if (i) if (i.indexOf("icourse163.org") >= 0) n = "reg." + i + "/zc"; else n = "passport." + i + "/zc";
            if (window._$needUrsBgp && window._$BGPZC) n = o(n);
            var r = window.REGPROTOCOL + n + "/yd/cp?channel=2&id=" + t + "&nocache=" + window.MpUtil.uniqueId();
            r = s(r);
            r = a(r);
            return r
        }, "mb-reg-sm": function (e, t, i, n) {
            d({path: "/sm", type: "GET", data: e, success: t, error: i, host: n, isLogin: 0})
        }, "mb-reg-vfsms": function (e, t, i, n) {
            d({path: "/vfsms", type: "POST", data: e, success: t, error: i, host: n, isLogin: 0})
        }, "mb-nini": function (e, t, i, n) {
            d({path: "/nini", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1, isInit: 1})
        }, "mb-nlregssms": function (e, t, i, n) {
            d({path: "/nlregssms", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, "mb-nlgt": function (e, t, i, n) {
            d({path: "/nlgt", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, "mb-nlregvfsms": function (e, t, i, n) {
            d({path: "/nlregvfsms", type: "POST", data: e, success: t, error: i, host: n, isLogin: 1})
        }, "mb-ncp": function (e, t) {
            var i = n;
            if (t) if (t.indexOf("icourse163.org") >= 0) i = "reg." + t + "/dl"; else i = "passport." + t + "/dl";
            if (window._$needUrsBgp && window._$BGP) i = o(i);
            var r = window.PROTOCOL + i + "/yd/ncp?pd=" + e.product + "&pkid=" + e.pkid + "&pkht=" + e.pkht + "&channel=" + e.channel + "&random=" + window.MpUtil.uniqueId();
            r = _(r);
            r = c(r);
            r = s(r);
            r = a(r);
            return r
        }, "mb-nvfcp": function (e, t, i, n) {
            d({
                path: "/nvfcp",
                type: "POST",
                contentType: "application/x-www-form-urlencoded",
                data: e,
                success: t,
                error: i,
                host: n,
                isLogin: 1
            })
        }, "mb-nvftcp": function (e, t, i, n) {
            d({path: "/nvftcp", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }, "mb-nvfccp": function (e, t, i, n) {
            d({path: "/nvfccp", type: "GET", data: e, success: t, error: i, host: n, isLogin: 1})
        }
    }
}();
if ("undefined" == typeof I$) I$ = function () {
    var e = {}, t = function () {
        return !1
    }, i = {};
    var n = function (t, i) {
        return e.toString.call(t) === "[object " + i + "]"
    };
    return function (e, s) {
        var r = i[e], a = n(s, "Function");
        if (null != s && !a) r = s;
        if (a) {
            var o = [];
            for (var c = 2, _ = arguments.length; c < _; c++) o.push(arguments.callee(arguments[c]));
            var d = {};
            o.push.call(o, d, {}, t, []);
            var f = s.apply(null, o) || d;
            if (!r || !n(f, "Object")) r = f; else if (Object.keys) for (var h = Object.keys(f), c = 0, _ = h.length, l; c < _; c++) {
                l = h[c];
                r[l] = f[l]
            } else for (var l in f) r[l] = f[l]
        }
        if (null == r) r = {};
        i[e] = r;
        return r
    }
}();
/*I$("eddda1e8e7971753192ee8d61ef1680e", function (e, t, i, n) {
    var s = Function.prototype;
    s._$aop = function (e, t) {
        var t = t || i, e = e || i, s = this;
        return function () {
            var i = {args: n.slice.call(arguments, 0)};
            e(i);
            if (!i.stopped) {
                i.value = s.apply(this, i.args);
                t(i)
            }
            return i.value
        }
    };
    s._$bind = function () {
        var e = arguments, t = arguments[0], i = this;
        return function () {
            var s = n.slice.call(e, 1);
            n.push.apply(s, arguments);
            return i.apply(t || null, s)
        }
    };
    s._$bind2 = function () {
        var e = arguments, t = n.shift.call(e), i = this;
        return function () {
            n.push.apply(arguments, e);
            return i.apply(t || null, arguments)
        }
    };
    var s = String.prototype;
    if (!s.trim) s.trim = function () {
        var e = /(?:^\s+)|(?:\s+$)/g;
        return function () {
            return this.replace(e, "")
        }
    }();
    if (!this.console) this.console = {log: i, error: i};
    if (!0) {
        NEJ = this.NEJ || {};
        NEJ.copy = function (e, i) {
            e = e || {};
            i = i || t;
            for (var n in i) if (i.hasOwnProperty(n)) e[n] = i[n];
            return e
        };
        NEJ = NEJ.copy(NEJ, {
            O: t, R: n, F: i, P: function (e) {
                if (!e || !e.length) return null;
                var t = window;
                for (var i = e.split("."), n = i.length, s = "window" == i[0] ? 1 : 0; s < n; t = t[i[s]] = t[i[s]] || {}, s++) ;
                return t
            }
        });
        return NEJ
    }
    return e
});
I$("605054bf841321ed40d652370c40f4e5", function (e, t, i, n, s) {
    var r = this.navigator.platform, a = this.navigator.userAgent;
    var o = {mac: r, win: r, linux: r, ipad: a, ipod: a, iphone: r, android: a};
    t._$IS = o;
    for (var c in o) o[c] = new RegExp(c, "i").test(o[c]);
    o.ios = o.ipad || o.iphone || o.ipod;
    o.tablet = o.ipad;
    o.desktop = o.mac || o.win || o.linux && !o.android;
    t._$is = function (e) {
        return !!o[e]
    };
    var _ = {
        engine: "unknow",
        release: "unknow",
        browser: "unknow",
        version: "unknow",
        prefix: {css: "", pro: "", clz: ""}
    };
    t._$KERNEL = _;
    if (/msie\s+(.*?);/i.test(a) || /trident\/.+rv:([\d\.]+)/i.test(a)) {
        _.engine = "trident";
        _.browser = "ie";
        _.version = RegExp.$1;
        _.prefix = {css: "ms", pro: "ms", clz: "MS", evt: "MS"};
        var d = {6: "2.0", 7: "3.0", 8: "4.0", 9: "5.0", 10: "6.0", 11: "7.0"};
        _.release = d[document.documentMode] || d[parseInt(_.version)]
    } else if (/webkit\/?([\d.]+?)(?=\s|$)/i.test(a)) {
        _.engine = "webkit";
        _.release = RegExp.$1 || "";
        _.prefix = {css: "webkit", pro: "webkit", clz: "WebKit"}
    } else if (/rv\:(.*?)\)\s+gecko\//i.test(a)) {
        _.engine = "gecko";
        _.release = RegExp.$1 || "";
        _.browser = "firefox";
        _.prefix = {css: "Moz", pro: "moz", clz: "Moz"};
        if (/firefox\/(.*?)(?=\s|$)/i.test(a)) _.version = RegExp.$1 || ""
    } else if (/presto\/(.*?)\s/i.test(a)) {
        _.engine = "presto";
        _.release = RegExp.$1 || "";
        _.browser = "opera";
        _.prefix = {css: "O", pro: "o", clz: "O"};
        if (/version\/(.*?)(?=\s|$)/i.test(a)) _.version = RegExp.$1 || ""
    }
    if ("unknow" == _.browser) {
        var d = ["chrome", "maxthon", "safari"];
        for (var f = 0, h = d.length, l; f < h; f++) {
            l = "safari" == d[f] ? "version" : d[f];
            if (new RegExp(l + "/(.*?)(?=\\s|$)", "i").test(a)) {
                _.browser = d[f];
                _.version = RegExp.$1.trim();
                break
            }
        }
    }
    t._$SUPPORT = {};
    t._$support = function (e) {
        return !!t._$SUPPORT[e]
    };
    if (!0) e.copy(e.P("nej.p"), t);
    return t
}, "eddda1e8e7971753192ee8d61ef1680e");
I$("32f617afc4bdd9fe7e4c6646e9cbe25e", function (e, t, i, n) {
    e.__forIn = function (e, t, i) {
        if (!e || !t) return null;
        var n = Object.keys(e);
        for (var s = 0, r = n.length, a, o; s < r; s++) {
            a = n[s];
            o = t.call(i || null, e[a], a, e);
            if (o) return a
        }
        return null
    };
    e.__forEach = function (e, t, i) {
        e.forEach(t, i)
    };
    e.__col2array = function (e) {
        return n.slice.call(e, 0)
    };
    e.__str2time = function (e) {
        return Date.parse(e)
    };
    return e
});
I$("1e9d50f7ac58877282adbf4f6adb2551", function (e, t, i, n, s, r) {
    if ("trident" === t._$KERNEL.engine && t._$KERNEL.release <= "4.0") I$(1, function () {
        e.__forIn = function (e, t, i) {
            if (e && t) {
                var n;
                for (var s in e) if (e.hasOwnProperty(s)) {
                    n = t.call(i, e[s], s, e);
                    if (n) return s
                } else ;
            }
        };
        e.__forEach = function (e, t, i) {
            for (var n = 0, s = e.length; n < s; n++) t.call(i, e[n], n, e)
        };
        e.__col2array = function (e) {
            var t = [];
            if (e && e.length) for (var i = 0, n = e.length; i < n; i++) t.push(e[i]);
            return t
        };
        e.__str2time = function () {
            var e = /-/g;
            return function (t) {
                return Date.parse(t.replace(e, "/").split(".")[0])
            }
        }()
    });
    return e
}, "32f617afc4bdd9fe7e4c6646e9cbe25e", "605054bf841321ed40d652370c40f4e5");
I$("05e56106e22a09a56a1098c586c2bfe9", function (e, t, i, n, s, r) {
    i._$klass = function () {
        var e = function () {
            return "[object Function]" !== n.toString.call(arguments[0])
        };
        var i = function (e, i) {
            for (; i;) {
                var n = i.prototype, s = t.__forIn(n, function (t) {
                    return e === t
                });
                if (null != s) return {name: s, klass: i};
                i = i._$super
            }
        };
        return function () {
            var n = function () {
                return this.__init.apply(this, arguments)
            };
            n.prototype.__init = s;
            n._$extend = function (n, s) {
                if (!e(n)) {
                    var r = this;
                    if (s !== !1) t.__forIn(n, function (t, i) {
                        if (!e(t)) r[i] = t
                    });
                    this._$super = n;
                    var a = function () {
                    };
                    a.prototype = n.prototype;
                    this.prototype = new a;
                    this.prototype.constructor = this;
                    var o = [], c = {};
                    var _ = function (e, t) {
                        var n = i(e, t);
                        if (n) {
                            if (o[o.length - 1] != n.name) o.push(n.name);
                            c[n.name] = n.klass._$super;
                            return n.name
                        }
                    };
                    this.prototype.__super = function () {
                        var e = o[o.length - 1], t = arguments.callee.caller;
                        if (!e) e = _(t, this.constructor); else {
                            var i = c[e].prototype;
                            if (!i.hasOwnProperty(t) || t != i[e]) e = _(t, this.constructor); else c[e] = c[e]._$super
                        }
                        var n = c[e].prototype[e].apply(this, arguments);
                        if (e == o[o.length - 1]) {
                            o.pop();
                            delete c[e]
                        }
                        return n
                    };
                    if (!0) {
                        var d = this.prototype;
                        d.__supInit = d.__super;
                        d.__supReset = d.__super;
                        d.__supDestroy = d.__super;
                        d.__supInitNode = d.__super;
                        d.__supDoBuild = d.__super;
                        d.__supOnShow = d.__super;
                        d.__supOnHide = d.__super;
                        d.__supOnRefresh = d.__super;
                        this._$supro = n.prototype
                    }
                    return this.prototype
                }
            };
            return n
        }
    }();
    if (!0) {
        e.C = i._$klass;
        e.copy(this.NEJ, e)
    }
    return i
}, "eddda1e8e7971753192ee8d61ef1680e", "1e9d50f7ac58877282adbf4f6adb2551");
I$("0ce1cf574f7be23168d864b3fb81d053", function (e, t, i, n, s, r) {
    var a = function (e, t) {
        try {
            t = t.toLowerCase();
            if (null === e) return "null" == t;
            if (void 0 === e) return "undefined" == t; else return n.toString.call(e).toLowerCase() == "[object " + t + "]"
        } catch (i) {
            return !1
        }
    };
    i._$isFunction = function (e) {
        return a(e, "function")
    };
    i._$isString = function (e) {
        return a(e, "string")
    };
    i._$isNumber = function (e) {
        return a(e, "number")
    };
    i._$isBoolean = function (e) {
        return a(e, "boolean")
    };
    i._$isDate = function (e) {
        return a(e, "date")
    };
    i._$isArray = function (e) {
        return a(e, "array")
    };
    i._$isObject = function (e) {
        return a(e, "object")
    };
    i._$length = function () {
        var e = /[^\x00-\xff]/g;
        return function (t) {
            return ("" + (t || "")).replace(e, "**").length
        }
    }();
    i._$loop = function (e, n, s) {
        if (i._$isObject(e) && i._$isFunction(n)) return t.__forIn.apply(t, arguments); else return null
    };
    i._$indexOf = function (e, t) {
        var n = i._$isFunction(t) ? t : function (e) {
            return e === t
        }, s = i._$forIn(e, n);
        return null != s ? s : -1
    };
    i._$binSearch = function () {
        var e;
        var t = function (i, n, s) {
            if (n > s) return -1;
            var r = Math.ceil((n + s) / 2), a = e(i[r], r, i);
            if (0 == a) return r;
            if (a < 0) return t(i, n, r - 1); else return t(i, r + 1, s)
        };
        return function (i, n) {
            e = n || s;
            return t(i, 0, i.length - 1)
        }
    }();
    i._$reverseEach = function (e, t, n) {
        if (e && e.length && i._$isFunction(t)) for (var s = e.length - 1; s >= 0; s--) if (t.call(n, e[s], s, e)) return s;
        return null
    };
    i._$forEach = function (e, n, s) {
        if (e && e.length && i._$isFunction(n)) if (!e.forEach) i._$forIn.apply(i, arguments); else t.__forEach(e, n, s)
    };
    i._$forIn = function (e, t, n) {
        if (!e || !i._$isFunction(t)) return null;
        if (i._$isNumber(e.length)) {
            for (var s = 0, r = e.length; s < r; s++) if (t.call(n, e[s], s, e)) return s
        } else if (i._$isObject(e)) return i._$loop(e, t, n);
        return null
    };
    i._$encode = function (e, t) {
        t = "" + t;
        if (!e || !t) return t || ""; else return t.replace(e.r, function (t) {
            var i = e[!e.i ? t.toLowerCase() : t];
            return null != i ? i : t
        })
    };
    i._$escape = function () {
        var e = /<br\/?>$/, t = {
            r: /\<|\>|\&|\r|\n|\s|\'|\"/g,
            "<": "&lt;",
            ">": "&gt;",
            "&": "&amp;",
            " ": "&nbsp;",
            '"': "&quot;",
            "'": "&#39;",
            "\n": "<br/>",
            "\r": ""
        };
        return function (n) {
            n = i._$encode(t, n);
            return n.replace(e, "<br/><br/>")
        }
    }();
    i._$unescape = function () {
        var e = {
            r: /\&(?:lt|gt|amp|nbsp|#39|quot)\;|\<br\/\>/gi,
            "&lt;": "<",
            "&gt;": ">",
            "&amp;": "&",
            "&nbsp;": " ",
            "&#39;": "'",
            "&quot;": '"',
            "<br/>": "\n"
        };
        return function (t) {
            return i._$encode(e, t)
        }
    }();
    i._$format = function () {
        var e = {i: !0, r: /\byyyy|yy|MM|cM|eM|M|dd|d|HH|H|mm|ms|ss|m|s|w|ct|et\b/g}, t = ["上午", "下午"],
            n = ["A.M.", "P.M."], s = ["日", "一", "二", "三", "四", "五", "六"],
            r = ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"],
            a = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"];
        var o = function (e) {
            e = parseInt(e) || 0;
            return (e < 10 ? "0" : "") + e
        };
        var c = function (e) {
            return e < 12 ? 0 : 1
        };
        return function (_, d, f) {
            if (!_ || !d) return "";
            _ = i._$var2date(_);
            e.yyyy = _.getFullYear();
            e.yy = ("" + e.yyyy).substr(2);
            e.M = _.getMonth() + 1;
            e.MM = o(e.M);
            e.eM = a[e.M - 1];
            e.cM = r[e.M - 1];
            e.d = _.getDate();
            e.dd = o(e.d);
            e.H = _.getHours();
            e.HH = o(e.H);
            e.m = _.getMinutes();
            e.mm = o(e.m);
            e.s = _.getSeconds();
            e.ss = o(e.s);
            e.ms = _.getMilliseconds();
            e.w = s[_.getDay()];
            var h = c(e.H);
            e.ct = t[h];
            e.et = n[h];
            if (f) e.H = e.H % 12;
            return i._$encode(e, d)
        }
    }();
    i._$var2date = function (e) {
        var n = e;
        if (i._$isString(e)) n = new Date(t.__str2time(e));
        if (!i._$isDate(n)) n = new Date(e);
        return n
    };
    i._$fixed = function (e, t) {
        return parseFloat(Number(e).toFixed(t))
    };
    i._$absolute = function () {
        var e = /([^\/:])\/.*$/, t = /\/[^\/]+$/, i = /[#\?]/, n = location.href.split(/[?#]/)[0],
            s = document.createElement("a");
        var r = function (e) {
            return (e || "").indexOf("://") > 0
        };
        var a = function (e) {
            return (e || "").split(i)[0].replace(t, "/")
        };
        var o = function (t, i) {
            if (0 == t.indexOf("/")) return i.replace(e, "$1") + t; else return a(i) + t
        };
        n = a(n);
        return function (e, t) {
            e = (e || "").trim();
            if (!r(t)) t = n;
            if (!e) return t;
            if (r(e)) return e;
            e = o(e, t);
            s.href = e;
            e = s.href;
            return r(e) ? e : s.getAttribute("href", 4)
        }
    }();
    i._$url2origin = function () {
        var e = /^([\w]+?:\/\/.*?(?=\/|$))/i;
        return function (t) {
            if (e.test(t || "")) return RegExp.$1.toLowerCase(); else return ""
        }
    }();
    i._$string2object = function (e, t) {
        var n = {};
        i._$forEach((e || "").split(t), function (e) {
            var t = e.split("=");
            if (t && t.length) {
                var i = t.shift();
                if (i) n[decodeURIComponent(i)] = decodeURIComponent(t.join("="))
            }
        });
        return n
    };
    i._$object2string = function (e, t, n) {
        if (!e) return "";
        var s = [];
        i._$loop(e, function (e, t) {
            if (!i._$isFunction(e)) {
                if (i._$isDate(e)) e = e.getTime(); else if (i._$isArray(e)) e = e.join(","); else if (i._$isObject(e)) e = JSON.stringify(e);
                if (n) e = encodeURIComponent(e);
                s.push(encodeURIComponent(t) + "=" + e)
            }
        });
        return s.join(t || ",")
    };
    i._$query2object = function (e) {
        return i._$string2object(e, "&")
    };
    i._$object2query = function (e) {
        return i._$object2string(e, "&", !0)
    };
    i._$object2array = function (e) {
        return t.__col2array(e)
    };
    i._$array2object = function (e, t) {
        var n = {};
        i._$forEach(e, function (e) {
            var i = e;
            if (t) i = t(e);
            if (null != i) n[i] = e
        });
        return n
    };
    i._$number2string = function (e, t) {
        var i = ("" + e).length, n = Math.max(1, parseInt(t) || 0), s = n - i;
        if (s > 0) e = new Array(s + 1).join("0") + e;
        return "" + e
    };
    i._$safeDelete = function (e, t) {
        if (!i._$isArray(t)) try {
            delete e[t]
        } catch (n) {
            e[t] = void 0
        } else i._$forEach(t, function (t) {
            i._$safeDelete(e, t)
        })
    };
    i._$randString = function () {
        var e = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
        return function (t) {
            t = t || 10;
            var i = [];
            for (var n = 0, s; n < t; ++n) {
                s = Math.floor(Math.random() * e.length);
                i.push(e.charAt(s))
            }
            return i.join("")
        }
    }();
    i._$randNumber = function (e, t) {
        return Math.floor(Math.random() * (t - e) + e)
    };
    i._$randNumberString = function (e) {
        e = Math.max(0, Math.min(e || 8, 30));
        var t = Math.pow(10, e - 1), n = 10 * t;
        return i._$randNumber(t, n).toString()
    };
    i._$uniqueID = function () {
        var e = +new Date;
        return function () {
            return "" + e++
        }
    }();
    i._$query = function (e, t) {
        e = e || n;
        var i = (t || "").split(".");
        for (var s = 0, r = i.length; s < r; s++) {
            e = e[i[s]];
            if (!e) break
        }
        return e
    };
    i._$merge = function () {
        var e = arguments.length - 1, t = arguments[e];
        if (i._$isFunction(t)) e -= 1; else t = s;
        var n = arguments[0] || {};
        for (var r = 1; r <= e; r++) i._$loop(arguments[r], function (e, i) {
            if (!t(e, i)) n[i] = e
        });
        return n
    };
    i._$fetch = function (e, t) {
        if (t) i._$loop(e, function (e, i, n) {
            var s = t[i];
            if (null != s) n[i] = s
        });
        return e
    };
    i._$hasProperty = function (e) {
        if (!e) return !1;
        if (null != e.length) return e.length > 0;
        var t = 0;
        i._$loop(e, function () {
            t++;
            return t > 0
        });
        return t > 0
    };
    if (!0) {
        e.Q = i._$query;
        e.X = i._$merge;
        e.EX = i._$fetch;
        e.copy(this.NEJ, e);
        e.copy(e.P("nej.u"), i)
    }
    return i
}, "eddda1e8e7971753192ee8d61ef1680e", "1e9d50f7ac58877282adbf4f6adb2551");
I$("735d81c56aa54ae5680cce2e40f7c5a5", function (e, t, i, n, s, r) {
    var a = {};
    i.__url2host = function () {
        var e = /^([\w]+?:\/\/.*?(?=\/|$))/i;
        return function (t) {
            t = t || "";
            if (e.test(t)) return RegExp.$1; else return location.protocol + "//" + location.host
        }
    }();
    i.__set = function (e, t) {
        a[e] = t
    };
    i.__get = function (e) {
        return a[e]
    };
    var o = function () {
        var e = {
            portrait: {name: "portrait", dft: "portrait/"},
            "ajax.swf": {name: "ajax", dft: "nej_proxy_flash.swf"},
            "chart.swf": {name: "chart", dft: "nej_flex_chart.swf"},
            "audio.swf": {name: "audio", dft: "nej_player_audio.swf"},
            "video.swf": {name: "video", dft: "nej_player_video.swf"},
            "clipboard.swf": {name: "clipboard", dft: "nej_clipboard.swf"},
            "upload.image.swf": {name: "uploadimage", dft: "nej_upload_image.swf"}
        };
        var s = function (e) {
            var t = {};
            if (!e || !e.length) return t;
            for (var n = 0, s = e.length, r; n < s; n++) {
                r = e[n];
                if (r.indexOf("://") > 0) t[i.__url2host(r)] = r
            }
            return t
        };
        return function (r) {
            i.__set("root", r.root || "/res/");
            var a = i.__get("root");
            t._$loop(e, function (e, t, n) {
                i.__set(t, r[e.name] || a + e.dft)
            });
            var o = r.p_csrf;
            if (o === !0) o = {cookie: "AntiCSRF", param: "AntiCSRF"};
            o = o || n;
            i.__set("csrf", {param: o.param || "", cookie: o.cookie || ""});
            i.__set("frames", s(r.p_frame));
            i.__set("flashs", s(r.p_flash))
        }
    }();
    o(this.NEJ_CONF || n);
    return i
}, "eddda1e8e7971753192ee8d61ef1680e", "0ce1cf574f7be23168d864b3fb81d053");
I$("7f2cb35685a2caedffee361f339c50d0", function (e, t, i, n, s, r) {
    if ("trident" === t._$KERNEL.engine) I$(17, function () {
        e.__set("storage.swf", (this.NEJ_CONF || n).storage || e.__get("root") + "nej_storage.swf")
    });
    if ("trident" === t._$KERNEL.engine && t._$KERNEL.release <= "3.0") I$(18, function () {
        e.__set("blank.png", (this.NEJ_CONF || n).blank || e.__get("root") + "nej_blank.gif")
    });
    return e
}, "735d81c56aa54ae5680cce2e40f7c5a5", "605054bf841321ed40d652370c40f4e5");
I$("8a2ce8a85ab9ebc9f81ddebaed2e0d2d", function (e, t, i, n, s, r) {
    i._$getFrameProxy = function (e) {
        var n = t.__url2host(e);
        return i._$get("frames")[n] || n + "/res/nej_proxy_frame.html"
    };
    i._$getFlashProxy = function (e) {
        return i._$get("flashs")[t.__url2host(e)]
    };
    i._$get = function (e) {
        return t.__get(e)
    };
    if (!0) e.copy(e.P("nej.c"), i);
    return i
}, "eddda1e8e7971753192ee8d61ef1680e", "7f2cb35685a2caedffee361f339c50d0");
I$("508c1b33d3f81140e52b3368c768e540", function (e, t, i, n, s, r) {
    var a = +new Date;
    i._$CODE_NOTFUND = 1e4 - a;
    i._$CODE_NOTASGN = 10001 - a;
    i._$CODE_NOTSPOT = 10002 - a;
    i._$CODE_TIMEOUT = 10003 - a;
    i._$CODE_ERREVAL = 10004 - a;
    i._$CODE_ERRCABK = 10005 - a;
    i._$CODE_ERRSERV = 10006 - a;
    i._$CODE_ERRABRT = 10007 - a;
    i._$HEAD_CT = "Content-Type";
    i._$HEAD_CT_PLAN = "text/plain";
    i._$HEAD_CT_FILE = "multipart/form-data";
    i._$HEAD_CT_FORM = "application/x-www-form-urlencoded";
    i._$BLANK_IMAGE = t._$get("blank.png") || "";
    if (!0) e.copy(e.P("nej.g"), i);
    return i
}, "eddda1e8e7971753192ee8d61ef1680e", "8a2ce8a85ab9ebc9f81ddebaed2e0d2d");
I$("4ff36f93915f61da99a05f35c5dcc945", function (e, t) {
    var i = {};
    t._$merge = function (t) {
        e._$merge(i, t)
    };
    t._$dump = function () {
        return i
    };
    t._$clear = function () {
        i = {}
    };
    return t
}, "0ce1cf574f7be23168d864b3fb81d053");
I$("4b154653afaab0b6e245b44bdb2a81ba", function (e, t, i, n, s, r) {
    i.__checkEvent = function () {
        var e = {touchstart: "mousedown", touchmove: "mousemove", touchend: "mouseup"}, i = t._$KERNEL.prefix, n = {
            transitionend: "TransitionEnd",
            animationend: "AnimationEnd",
            animationstart: "AnimationStart",
            animationiteration: "AnimationIteration",
            visibilitychange: "visibilitychange"
        };
        var s = {
            enter: function (e, t, i) {
                var n = {type: "keypress"};
                if (i) n.handler = function (t) {
                    if (13 === t.keyCode) i.call(e, t)
                };
                return n
            }
        };
        var r = function (e) {
            return (i.evt || i.pro) + e
        };
        return function (t, i, a) {
            var o = {type: i, handler: a};
            if (!("on" + i in t)) {
                var c = e[i];
                if (c) {
                    o.type = c;
                    return o
                }
                var c = n[i];
                if (c) {
                    o.type = r(c);
                    return o
                }
                var _ = s[i];
                if (_) return _.apply(null, arguments)
            }
            return o
        }
    }();
    i.__addEvent = function () {
        var e = arguments;
        if (!1) if (!("on" + e[1] in e[0])) console.log("not support event[" + e[1] + "] for " + e[0]);
        e[0].addEventListener(e[1], e[2], e[3])
    };
    i.__delEvent = function () {
        var e = arguments;
        e[0].removeEventListener(e[1], e[2], e[3])
    };
    i.__dispatchEvent = function (t, i, n) {
        var s = document.createEvent("Event");
        s.initEvent(i, !0, !0);
        e._$merge(s, n);
        t.dispatchEvent(s)
    };
    return i
}, "0ce1cf574f7be23168d864b3fb81d053", "605054bf841321ed40d652370c40f4e5");
I$("d0f79e978ef8970d87cc5043978e4d69", function (e, t, i, n, s, r, a) {
    if ("trident" === e._$KERNEL.engine && e._$KERNEL.release >= "6.0") I$(2, function () {
        t.__checkEvent = function () {
            var e = {
                touchcancel: "MSPointerCancel",
                touchstart: "MSPointerDown",
                touchmove: "MSPointerMove",
                touchend: "MSPointerUp"
            };
            return t.__checkEvent._$aop(function (t) {
                var i = t.args;
                var n = e[i[1]];
                if (n) {
                    t.stopped = !0;
                    t.value = {type: n, handler: i[2]}
                }
            })
        }()
    });
    if ("trident" === e._$KERNEL.engine && "5.0" == e._$KERNEL.release) I$(3, function () {
        t.__checkEvent = function () {
            var e = {};
            var i = {
                input: function (t, i, n) {
                    if (!n) return {type: i}; else return {
                        type: i, handler: function (i) {
                            var s = t.id;
                            e[s] = t.value;
                            n.call(t, i)
                        }, link: [[document, "selectionchange", function (i) {
                            var s = t.id;
                            if (t == document.activeElement) {
                                if (e[s] !== t.value) {
                                    e[s] = t.value;
                                    n.call(t, i)
                                }
                            } else delete e[s]
                        }]]
                    }
                }
            };
            return t.__checkEvent._$aop(function (e) {
                var t = e.args;
                var n = i[t[1]];
                if (n) {
                    e.stopped = !0;
                    e.value = n.apply(null, t)
                }
            })
        }()
    });
    if ("trident" === e._$KERNEL.engine && e._$KERNEL.release >= "5.0") I$(4, function () {
        var e = {propertychange: 1};
        t.__addEvent = t.__addEvent._$aop(function (t) {
            var i = t.args;
            if (null != e[i[1]] && i[0].attachEvent) {
                t.stopped = !0;
                i[0].attachEvent("on" + i[1], i[2])
            }
        });
        t.__delEvent = t.__delEvent._$aop(function (t) {
            var i = t.args, n = e[i[1]];
            if (null != e[i[1]] && i[0].detachEvent) {
                t.stopped = !0;
                i[0].detachEvent("on" + i[1], i[2])
            }
        })
    });
    if ("trident" === e._$KERNEL.engine && e._$KERNEL.release <= "4.0") I$(5, function () {
        t.__checkEvent = function () {
            var e = {};
            var i = {
                input: function (t, i, n) {
                    var s = {type: "propertychange"};
                    if (n) {
                        var r = t.id;
                        var a = function (i) {
                            if (t.value && !e["x-" + r]) {
                                e["x-" + r] = !0;
                                n.call(t, i)
                            }
                        };
                        s.handler = function (i) {
                            if ("value" in t && "value" == i.propertyName) {
                                if (e[r]) return;
                                e[r] = !0;
                                n.call(t, i);
                                delete e[r]
                            }
                        };
                        s.link = [[t, "keyup", a], [t, "mouseup", a], [t, "mousemove", a]];
                        s.destroy = function () {
                            delete e[r];
                            delete e["x-" + r]
                        }
                    }
                    return s
                }, load: function (e, t, i) {
                    var n = {type: "readystatechange"};
                    if (i) n.handler = function (t) {
                        if ("loaded" == e.readyState || "complete" == e.readyState) i.call(e, t)
                    };
                    return n
                }
            };
            return t.__checkEvent._$aop(function (e) {
                var t = e.args;
                var n = i[t[1]];
                if (n) {
                    e.stopped = !0;
                    e.value = n.apply(null, t)
                }
                if (t[2]) t[2] = t[2]._$bind(t[0])
            })
        }();
        t.__addEvent = function () {
            var e = arguments;
            if (!1) if (!("on" + e[1] in e[0])) console.log("not support event[" + e[1] + "] for " + e[0]);
            e[0].attachEvent("on" + e[1], e[2])
        };
        t.__delEvent = function () {
            var e = arguments;
            e[0].detachEvent("on" + e[1], e[2])
        };
        t.__dispatchEvent = function () {
            var e = {propertychange: {propertyName: "value"}};
            return function (t, n, s) {
                var r = document.createEventObject();
                try {
                    i._$merge(r, e[n], s);
                    t.fireEvent("on" + n, r)
                } catch (a) {
                    console.error(a.message);
                    console.error(a.stack)
                }
            }
        }()
    });
    if ("gecko" === e._$KERNEL.engine) I$(6, function () {
        t.__checkEvent = function () {
            var e = /^(?:transitionend|animationend|animationstart|animationiteration)$/i;
            var i = {
                mousewheel: function (e, t, i) {
                    var n = {type: "MozMousePixelScroll"};
                    if (i) n.handler = function (t) {
                        var n = t.detail;
                        t.wheelDelta = -n;
                        t.wheelDeltaY = -n;
                        t.wheelDeltaX = 0;
                        i.call(e, t)
                    };
                    return n
                }
            };
            return t.__checkEvent._$aop(function (t) {
                var n = t.args;
                if (e.test(n[1])) {
                    t.stopped = !0;
                    t.value = {type: n[1], handler: n[2]}
                }
                var s = i[n[1]];
                if (s) {
                    t.stopped = !0;
                    t.value = s.apply(null, n)
                }
            })
        }()
    });
    return t
}, "605054bf841321ed40d652370c40f4e5", "4b154653afaab0b6e245b44bdb2a81ba", "0ce1cf574f7be23168d864b3fb81d053");
I$("a0c610891b37112b33fc6ca301b06e01", function (e, t, i, n, s, r, a, o, c) {
    var _ = {}, d = {};
    var f = function () {
        var e = /[\s,;]+/;
        return function (t) {
            var t = (t || "").trim().toLowerCase();
            return !t ? null : t.split(e)
        }
    }();
    var h = function (e, i, n) {
        var s = "page" + i;
        return null != e[s] ? e[s] : e["client" + i] + t._$getPageBox()["scroll" + n]
    };
    var l = function (e, t, i) {
        var n = "scroll" + i;
        _node = r._$getElement(e), _xret = h(e, t, i);
        for (; _node && _node != document.body && _node != document.documentElement;) {
            _xret += _node[n] || 0;
            _node = _node.parentNode
        }
        return _xret
    };
    var u = function (e, n, s, r) {
        var a = {};
        e = t._$get(e);
        if (!e) return null;
        t._$id(e);
        a.element = e;
        if (!i._$isFunction(s)) return null;
        a.handler = s;
        var n = f(n);
        if (!n) return null;
        a.type = n;
        a.capture = !!r;
        return a
    };
    r._$addEvent = d._$addEvent = function () {
        var e = function (e, i, n) {
            var s = t._$id(i.element), r = _[s] || {}, a = r[e] || [];
            a.push({
                type: n.type || e,
                func: n.handler || i.handler,
                sfun: i.handler,
                capt: i.capture,
                link: n.link,
                destroy: n.destroy
            });
            r[e] = a;
            _[s] = r
        };
        return function () {
            var n = u.apply(null, arguments);
            if (n) i._$forEach(n.type, function (r) {
                var a = s.__checkEvent(n.element, r, n.handler);
                s.__addEvent(n.element, a.type, a.handler, n.capture);
                i._$forIn(a.link, function (e) {
                    e[3] = !!e[3];
                    s.__addEvent.apply(s, e);
                    e[0] = t._$id(e[0])
                });
                e(r, n, a)
            })
        }
    }();
    r._$delEvent = d._$delEvent = function () {
        var e = function (e, n) {
            var s = t._$id(n.element), r = _[s] || a, o = r[e], c = i._$indexOf(o, function (e) {
                return e.sfun === n.handler && e.capt === n.capture
            });
            var d = null;
            if (c >= 0) {
                var f = o.splice(c, 1)[0];
                d = [[n.element, f.type, f.func, n.capture]];
                if (f.link) {
                    i._$forEach(f.link, function (e) {
                        e[0] = t._$get(e[0])
                    });
                    d.push.apply(d, f.link)
                }
                if (f.destroy) f.destroy();
                if (!o.length) delete r[e];
                if (!i._$hasProperty(r)) delete _[s]
            }
            return d
        };
        return function () {
            var t = u.apply(null, arguments);
            if (t) i._$forEach(t.type, function (n) {
                i._$forEach(e(n, t), function (e) {
                    s.__delEvent.apply(s, e)
                })
            })
        }
    }();
    r._$clearEvent = d._$clearEvent = function () {
        var e = function (e, t, n) {
            i._$reverseEach(n, function (i) {
                r._$delEvent(e, t, i.sfun, i.capt)
            })
        };
        return function (n, s) {
            var a = t._$id(n);
            if (a) {
                var o = _[a];
                if (o) {
                    s = f(s);
                    if (s) i._$forEach(s, function (t) {
                        e(a, t, o[t])
                    }); else i._$loop(o, function (e, t) {
                        r._$clearEvent(n, t)
                    })
                }
            }
        }
    }();
    r._$dispatchEvent = d._$dispatchEvent = function (e, n, r) {
        var e = t._$get(e);
        if (e) i._$forEach(f(n), function (t) {
            var i = s.__checkEvent(e, t);
            s.__dispatchEvent(e, i.type, r)
        })
    };
    r._$getElement = function () {
        var e;
        var n = function (i, n) {
            var s = i.split(":");
            if (s.length > 1) {
                if (!e) e = {
                    a: t._$attr, d: t._$dataset, c: t._$hasClassName, t: function (e, t) {
                        return (e.tagName || "").toLowerCase() === t
                    }
                };
                var r = e[s[0]];
                if (r) return !!r(n, s[1]);
                i = s[1]
            }
            return !!t._$attr(n, i) || !!t._$dataset(n, i) || t._$hasClassName(n, i)
        };
        return function (e) {
            if (!e) return null;
            var t = e.target || e.srcElement, s = arguments[1];
            if (!s) return t;
            if (i._$isString(s)) s = n._$bind(null, s);
            if (i._$isFunction(s)) {
                for (; t;) {
                    if (s(t)) return t;
                    t = t.parentNode
                }
                return null
            }
            return t
        }
    }();
    r._$stop = function (e) {
        r._$stopBubble(e);
        r._$stopDefault(e)
    };
    r._$stopBubble = function (e) {
        if (e) e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0
    };
    r._$stopDefault = function (e) {
        if (e) e.preventDefault ? e.preventDefault() : e.returnValue = !1
    };
    r._$page = function (e) {
        return {x: r._$pageX(e), y: r._$pageY(e)}
    };
    r._$pageX = function (e) {
        return l(e, "X", "Left")
    };
    r._$pageY = function (e) {
        return l(e, "Y", "Top")
    };
    r._$clientX = function (e) {
        return h(e, "X", "Left")
    };
    r._$clientY = function (e) {
        return h(e, "Y", "Top")
    };
    n._$merge(d);
    if (!0) e.copy(e.P("nej.v"), r);
    return r
}, "eddda1e8e7971753192ee8d61ef1680e", "d73a726efb8534e8d72defb6cd280a1c", "0ce1cf574f7be23168d864b3fb81d053", "4ff36f93915f61da99a05f35c5dcc945", "d0f79e978ef8970d87cc5043978e4d69");
I$("e543d5ff3f7b733a708519e9530d1f6b", function (e, t, i, n, s, r) {
    i.__getElementById = function (e, t) {
        if (e.getElementById) return e.getElementById("" + t);
        try {
            return e.querySelector("#" + t)
        } catch (i) {
            return null
        }
    };
    i.__getChildren = function (t) {
        return e._$object2array(t.children)
    };
    i.__getElementsByClassName = function (t, i) {
        return e._$object2array(t.getElementsByClassName(i))
    };
    i.__nextSibling = function (e) {
        return e.nextElementSibling
    };
    i.__previousSibling = function (e) {
        return e.previousElementSibling
    };
    i.__dataset = function (e, t, i) {
        e.dataset = e.dataset || {};
        if (void 0 !== i) e.dataset[t] = i;
        return e.dataset[t]
    };
    i.__getAttribute = function (e, t) {
        return e.getAttribute(t)
    };
    i.__serializeDOM2XML = function (e) {
        return (new XMLSerializer).serializeToString(e) || ""
    };
    i.__parseDOMFromXML = function (e) {
        var t = (new DOMParser).parseFromString(e, "text/xml").documentElement;
        return "parsererror" == t.nodeName ? null : t
    };
    i.__fullScreen = function () {
    };
    i.__mask = function () {
    };
    i.__unmask = function () {
    };
    var a = t._$SUPPORT, o = t._$KERNEL.prefix;
    i.__isMatchedName = function () {
        var e = /^([a-z]+?)[A-Z]/;
        return function (t, i) {
            return !!(i[t] || e.test(t) && i[RegExp.$1])
        }
    }();
    i.__isNeedPrefixed = function () {
        var t = e._$array2object(["animation", "transform", "transition", "appearance", "userSelect", "box", "flex", "column"]);
        return function (e) {
            return i.__isMatchedName(e, t)
        }
    }();
    i.__fmtStyleName = function () {
        var e = /-([a-z])/g;
        return function (t) {
            t = t || "";
            return t.replace(e, function (e, t) {
                return t.toUpperCase()
            })
        }
    }();
    i.__getStyleName = function () {
        var e = /^[a-z]/, t = o.css || "";
        return function (n) {
            n = i.__fmtStyleName(n);
            if (!i.__isNeedPrefixed(n)) return n; else return t + n.replace(e, function (e) {
                return e.toUpperCase()
            })
        }
    }();
    i.__getStyleValue = function (e, t) {
        var n = window.getComputedStyle(e, null);
        return n[i.__getStyleName(t)] || ""
    };
    i.__setStyleValue = function (e, t, n) {
        e.style[i.__getStyleName(t)] = n
    };
    i.__getCSSMatrix = function () {
        var t = /\((.*?)\)/, i = /\s*,\s*!/, n = ["CSSMatrix", o.clz + "CSSMatrix"],
            s = ["m11", "m12", "m21", "m22", "m41", "m42"];
        var r = function (n) {
            var r = {};
            if (t.test(n || "")) e._$forEach(RegExp.$1.split(i), function (e, t) {
                r[s[t]] = e
            });
            return r
        };
        return function (t) {
            var i;
            e._$forIn(n, function (e) {
                if (this[e]) {
                    i = new this[e](t || "");
                    return !0
                }
            });
            return !i ? r(t) : i
        }
    }();
    i.__injectCSSText = function (e, t) {
        e.textContent = t
    };
    i.__processCSSText = function () {
        var t = /\$<(.*?)>/gi, s = /\{(.*?)\}/g, r = "-" + o.css.toLowerCase() + "-", c = {
            scale: "scale({x|1},{y|1})",
            rotate: "rotate({a})",
            translate: "translate({x},{y})",
            matrix: "matrix({m11},{m12},{m21},{m22},{m41},{m42})"
        }, _ = {
            scale: "scale3d({x|1},{y|1},{z|1})",
            rotate: "rotate3d({x},{y},{z},{a})",
            translate: "translate3d({x},{y},{z})",
            matrix: "matrix3d({m11},{m12},{m13},{m14},{m21},{m22},{m23},{m24},{m31},{m32},{m33|1},{m34},{m41},{m42},{m43},{m44|1})"
        };
        var d = function (e, t) {
            t = t || n;
            return e.replace(s, function (e, i) {
                var n = i.split("|");
                return t[n[0]] || n[1] || "0"
            })
        };
        i.__processTransformValue = function (e, t) {
            var i = (!a.css3d ? c : _)[e.trim()];
            if (i) return d(i, t); else return ""
        };
        return function (n) {
            if (!n.replace) return n; else return n.replace(t, function (t, n) {
                if ("vendor" === n) return r;
                var s = (n || "").split("|");
                return i.__processTransformValue(s[0], e._$query2object(s[1])) || t
            })
        }
    }();
    i.__appendCSSText = function (e, t) {
        var i = e.sheet, n = i.cssRules.length;
        i.insertRule(t, n);
        return i.cssRules[n]
    };
    i.__getClassList = function () {
        var e = /\s+/;
        return function (t) {
            t = (t || "").trim();
            return t ? t.split(e) : null
        }
    }();
    i.__processClassName = function (t, n, s) {
        if ("replace" != n) e._$forEach(i.__getClassList(s), function (e) {
            t.classList[n](e)
        }); else {
            i.__processClassName(t, "remove", s);
            i.__processClassName(t, "add", arguments[3])
        }
    };
    i.__hasClassName = function (t, n) {
        var s = t.classList;
        if (!s || !s.length) return !1; else return e._$indexOf(i.__getClassList(n), function (e) {
            return s.contains(e)
        }) >= 0
    };
    !function () {
        if (!a.css3d) {
            var e = i.__getCSSMatrix();
            a.css3d = !!e && null != e.m41
        }
    }();
    return i
}, "0ce1cf574f7be23168d864b3fb81d053", "605054bf841321ed40d652370c40f4e5");
I$("5faa696f3d634d9ce0a948fd79ceab64", function (e, t, i, n, s, r, a) {
    if ("trident" === t._$KERNEL.engine) I$(7, function () {
        e.__getChildren = e.__getChildren._$aop(function (e) {
            var t = e.args[0];
            if (!t.children) {
                e.stopped = !0;
                var n = [];
                i._$forEach(t.childNodes, function (e) {
                    if (1 == e.nodeType) n.push(e)
                });
                e.value = n
            }
        })
    });
    if ("trident" === t._$KERNEL.engine && t._$KERNEL.release <= "6.0") I$(8, function () {
        e.__dataset = function () {
            var e = {}, t = "data-", n = /\-(.{1})/gi;
            var s = function (s) {
                var r = s.id;
                if (!e[r]) {
                    var a = {};
                    i._$forEach(s.attributes, function (e) {
                        var i = e.nodeName;
                        if (0 == i.indexOf(t)) {
                            i = i.replace(t, "").replace(n, function (e, t) {
                                return t.toUpperCase()
                            });
                            a[i] = e.nodeValue || ""
                        }
                    });
                    e[r] = a
                }
            };
            return function (t, i, n) {
                s(t);
                var r = e[t.id];
                if (void 0 !== n) r[i] = n;
                return r[i]
            }
        }()
    });
    if ("trident" === t._$KERNEL.engine && t._$KERNEL.release <= "5.0") I$(9, function () {
        try {
            document.execCommand("BackgroundImageCache", !1, !0)
        } catch (t) {
        }
        e.__injectCSSText = function () {
            var t = 30;
            return e.__injectCSSText._$aop(function (e) {
                var i = e.args[0];
                if (i.styleSheet) {
                    e.stopped = !0;
                    var n = e.args[1];
                    var s = document.styleSheets;
                    if (s.length > t) {
                        i = s[t];
                        n = i.cssText + n
                    } else i = i.styleSheet;
                    i.cssText = n
                }
            })
        }();
        e.__getClassRegExp = function () {
            var e = /\s+/g;
            return function (t) {
                t = (t || "").trim().replace(e, "|");
                return !t ? null : new RegExp("(\\s|^)(?:" + t + ")(?=\\s|$)", "g")
            }
        }();
        e.__processClassName = function (t, i, n) {
            n = n || "";
            var s = t.className || "", r = e.__getClassRegExp(n + " " + (arguments[3] || ""));
            var a = s;
            if (r) a = a.replace(r, "");
            switch (i) {
                case"remove":
                    n = "";
                    break;
                case"replace":
                    n = arguments[3] || ""
            }
            a = (a + " " + n).trim();
            if (s != a) t.className = a
        };
        e.__hasClassName = function (t, i) {
            var n = e.__getClassRegExp(i);
            if (n) return n.test(t.className || ""); else return !1
        }
    });
    if ("trident" === t._$KERNEL.engine && t._$KERNEL.release <= "4.0") I$(10, function () {
        e.__getElementsByClassName = function (e, t) {
            var n = [], s = new RegExp("(\\s|^)(?:" + t.replace(/\s+/g, "|") + ")(?=\\s|$)");
            i._$forEach(e.getElementsByTagName("*"), function (e) {
                if (s.test(e.className)) n.push(e)
            });
            return n
        };
        e.__nextSibling = function (e) {
            for (; e = e.nextSibling;) if (1 == e.nodeType) return e
        };
        e.__previousSibling = function (e) {
            for (; e = e.previousSibling;) if (1 == e.nodeType) return e
        };
        e.__serializeDOM2XML = function (e) {
            return "xml" in e ? e.xml : e.outerHTML;
        };
        e.__parseDOMFromXML = function () {
            var e = ["Msxml2.DOMDocument.6.0", "Msxml2.DOMDocument.3.0"];
            var t = function () {
                try {
                    for (var t = 0, i = e.length; t < i; t++) return new ActiveXObject(e[t])
                } catch (n) {
                    return null
                }
            };
            return function (e) {
                var i = t();
                if (i && i.loadXML(e) && !i.parseError.errorCode) return i.documentElement; else return null
            }
        }();
        e.__getStyleValue = function () {
            var t = /opacity\s*=\s*([\d]+)/i;
            var i = {
                opacity: function (e) {
                    var i = 0;
                    if (t.test(e.filter || "")) i = parseFloat(RegExp.$1) / 100;
                    return i
                }
            };
            return function (t, n) {
                var s = t.currentStyle, r = i[n];
                if (r) return r(s); else return s[e.__getStyleName(n)] || ""
            }
        }();
        e.__setStyleValue = function () {
            var t = {
                opacity: function (e, t) {
                    e.style.filter = "alpha(opacity=" + 100 * t + ")"
                }
            };
            return function (i, n, s) {
                var r = t[n];
                if (r) r(i, s); else i.style[e.__getStyleName(n)] = s
            }
        }();
        e.__appendCSSText = function (e, t) {
            var i = e.styleSheet, n = i.rules.length, s = t.split(/[\{\}]/);
            i.addRule(s[0], s[1], n);
            return i.rules[n]
        }
    });
    if ("trident" === t._$KERNEL.engine && t._$KERNEL.release <= "3.0") I$(11, function () {
        e.__getAttribute = e.__getAttribute._$aop(null, function (e) {
            var t = e.args;
            if ("maxlength" == t[1] && 2147483647 == e.value) e.value = null
        })
    });
    if ("trident" === t._$KERNEL.engine && t._$KERNEL.release <= "2.0") I$(12, function () {
        e.__fullScreen = function (e, t) {
            var i = e.style;
            i.width = t.scrollWidth + "px";
            i.height = t.scrollHeight + "px"
        };
        e.__mask = function () {
            var t = {};
            e.__unmask = function (e) {
                var i = e.id, n = t[i];
                if (n) {
                    delete t[i];
                    n.parentNode.removeChild(n)
                }
            };
            return function (e) {
                var i = e.id, n = t[i];
                if (!n) {
                    n = document.createElement("iframe");
                    n.style.position = "absolute";
                    t[i] = n
                }
                var s = n.style, r = e.style;
                s.top = (parseInt(r.top) || 0) + "px";
                s.left = (parseInt(r.left) || 0) + "px";
                s.width = e.offsetWidth + "px";
                s.height = e.offsetHeight + "px";
                e.insertAdjacentElement("beforeBegin", n);
                return n
            }
        }()
    });
    if ("gecko" === t._$KERNEL.engine) I$(13, function () {
        if (!t._$SUPPORT.css3d) t._$SUPPORT.css3d = "MozPerspective" in document.body.style;
        if (!("insertAdjacentElement" in document.body)) HTMLElement.prototype.insertAdjacentElement = function (e, t) {
            if (e && t) switch (e) {
                case"beforeEnd":
                    this.appendChild(t);
                    return;
                case"beforeBegin":
                    this.parentNode.insertBefore(t, this);
                    return;
                case"afterBegin":
                    !this.firstChild ? this.appendChild(t) : this.insertBefore(t, this.firstChild);
                    return;
                case"afterEnd":
                    !this.nextSibling ? this.parentNode.appendChild(t) : this.parentNode.insertBefore(t, this.nextSibling);
                    return
            }
        };
        if (!("innerText" in document.body)) {
            HTMLElement.prototype["__defineGetter__"]("innerText", function () {
                return this.textContent
            });
            HTMLElement.prototype["__defineSetter__"]("innerText", function (e) {
                this.textContent = e
            })
        }
    });
    return e
}, "e543d5ff3f7b733a708519e9530d1f6b", "605054bf841321ed40d652370c40f4e5", "0ce1cf574f7be23168d864b3fb81d053");
I$("d73a726efb8534e8d72defb6cd280a1c", function (e, t, i, n, s, r, a, o, c, _) {
    var d = {}, f, h = {}, l = {}, u = document.createDocumentFragment();
    if (!document.head) document.head = document.getElementsByTagName("head")[0] || document.body;
    a.dump = function () {
        return {pool: h, dirty: l, fragment: u}
    };
    a._$id = d._$id = function (e) {
        e = a._$get(e);
        if (e) {
            var t = e.id ? e.id : "auto-id-" + i._$uniqueID();
            if (!("id" in e)) h[t] = e;
            e.id = t;
            if (!a._$get(t)) l[t] = e;
            return t
        }
    };
    a._$get = function (e) {
        var t = h["" + e];
        if (t) return t;
        if (!i._$isString(e) && !i._$isNumber(e)) return e;
        var t = document.getElementById(e);
        if (!t) t = r.__getElementById(u, e);
        if (t) delete l[e];
        return t || l[e]
    };
    a._$getChildren = d._$getChildren = function (e, t) {
        e = a._$get(e);
        if (!e) return null;
        var n = r.__getChildren(e);
        if (t) i._$reverseEach(n, function (e, i, n) {
            if (!a._$hasClassName(e, t)) n.splice(i, 1)
        });
        return n
    };
    a._$getByClassName = d._$getByClassName = function (e, t) {
        e = a._$get(e);
        return !e ? null : r.__getElementsByClassName(e, t.trim())
    };
    a._$getSibling = d._$getSibling = function () {
        var e = function () {
            return !0
        };
        return function (t, n) {
            t = a._$get(t);
            if (!t) return null;
            var s = {backward: !1, filter: e};
            if (i._$isFunction(n)) s.filter = n; else s = i._$fetch(s, n);
            var o = s.backward ? r.__previousSibling : r.__nextSibling;
            for (; (t = o(t)) && !s.filter(t);) ;
            return t
        }
    }();
    a._$getScrollViewPort = function (e) {
        e = a._$get(e);
        if (e) {
            e = e.parentNode;
            for (; e && !(e.scrollHeight > e.clientHeight);) e = e.parentNode;
            if (e) return e
        }
        var t = document.body.scrollHeight, i = document.documentElement.scrollHeight;
        return i >= t ? document.documentElement : document.body
    };
    a._$getPageBox = function () {
        var e = function (e) {
            var t = 0;
            i._$forEach(e, function (e) {
                if (e) if (!t) t = e; else t = Math.min(t, e)
            });
            return t
        };
        var t = [{
            main: "scroll", sub: ["Top", "Left"], func: function (e, t, i) {
                return Math.max(t["scroll" + e], i["scroll" + e])
            }
        }, {
            main: "client", sub: ["Width", "Height"], func: function (t, i, n) {
                return e([i["client" + t], i["offset" + t], n["client" + t], n["offset" + t]])
            }
        }, {
            main: "scroll", sub: ["Width", "Height"], func: function (e, t, i, n) {
                return Math.max(n["client" + e], t["scroll" + e], i["scroll" + e])
            }
        }];
        return function (e) {
            var n = {}, s = e || document, r = s.body, a = s.documentElement;
            i._$forEach(t, function (e) {
                var t = e.main;
                i._$forEach(e.sub, function (i) {
                    n[t + i] = e.func(i, r, a, n)
                })
            });
            return n
        }
    }();
    a._$getMaxBox = function (e, t) {
        var n = i._$merge({}, e), s = t.width / t.height, r = e.width / e.height;
        if (s > r && e.height > t.height) {
            n.height = t.height;
            n.width = n.height * r
        }
        if (s < r && e.width > t.width) {
            n.width = t.width;
            n.height = n.width / r
        }
        return n
    };
    a._$scrollTo = d._$scrollTo = function (e) {
        var t = a._$offset(e);
        window.scrollTo(t.x, t.y)
    };
    a._$align = function () {
        var e = /\s+/;
        var t = {
            left: function () {
                return 0
            }, center: function (e, t) {
                return (e.width - t.width) / 2
            }, right: function (e, t) {
                return e.width - t.width
            }, top: function () {
                return 0
            }, middle: function (e, t) {
                return (e.height - t.height) / 2
            }, bottom: function (e, t) {
                return e.height - t.height
            }
        };
        return function (i, n, s) {
            var r = {}, a = (s || "").split(e), o = t[a[1]] || t.middle, c = t[a[0]] || t.center;
            r.top = o(i, n);
            r.left = c(i, n);
            return r
        }
    }();
    a._$offset = d._$offset = function () {
        var e = function (e) {
            return e == document.body || e == document.documentElement
        };
        return function (t, i) {
            t = a._$get(t);
            if (!t) return null;
            i = a._$get(i) || null;
            var n = t, s = {x: 0, y: 0}, r, o, c;
            for (; n && n != i;) {
                r = e(n) || n == t;
                o = r ? 0 : n.scrollLeft;
                c = parseInt(a._$getStyle(n, "borderLeftWidth")) || 0;
                s.x += n.offsetLeft + c - o;
                o = r ? 0 : n.scrollTop;
                c = parseInt(a._$getStyle(n, "borderTopWidth")) || 0;
                s.y += n.offsetTop + c - o;
                n = n.offsetParent
            }
            return s
        }
    }();
    a._$fullScreen = d._$fullScreen = function (e) {
        e = a._$get(e);
        if (e) r.__fullScreen(e, a._$getPageBox())
    };
    a._$mask = d._$mask = function (e) {
        e = a._$get(e);
        if (e) {
            a._$id(e);
            return r.__mask(e)
        }
        return null
    };
    a._$unmask = d._$unmask = function (e) {
        e = a._$get(e);
        if (e) {
            a._$id(e);
            return r.__unmask(e)
        }
        return null
    };
    a._$create = function () {
        var e = {
            a: {href: "#", hideFocus: !0},
            style: {type: "text/css"},
            link: {type: "text/css", rel: "stylesheet"},
            iframe: {frameBorder: 0},
            script: {defer: !0, type: "text/javascript"}
        };
        return function (t, n, s) {
            var r = document.createElement(t), o = e[t.toLowerCase()];
            i._$merge(r, o);
            if (n) r.className = n;
            s = a._$get(s);
            if (s) s.appendChild(r); else if (!o) u.appendChild(r);
            return r
        }
    }();
    a._$createXFrame = function () {
        var e = function () {
            if (location.hostname == document.domain) return "about:blank"; else return 'javascript:(function(){document.open();document.domain="' + document.domain + '";document.close();})();'
        };
        var t = function (e) {
            e = e.trim();
            if (!e) return a._$create("iframe");
            var t;
            try {
                t = document.createElement('<iframe name="' + e + '"></iframe>');
                t.frameBorder = 0
            } catch (i) {
                t = a._$create("iframe");
                t.name = e
            }
            return t
        };
        return function (s) {
            s = s || o;
            var r = t(s.name || "");
            if (!s.visible) r.style.display = "none";
            if (i._$isFunction(s.onload)) n._$addEvent(r, "load", function (e) {
                if (r.src) {
                    n._$clearEvent(r, "load");
                    s.onload(e)
                }
            });
            var c = s.parent;
            if (i._$isFunction(c)) try {
                c(r)
            } catch (_) {
            } else (a._$get(c) || document.body).appendChild(r);
            var d = s.src || e();
            window.setTimeout(function () {
                r.src = d
            }, 0);
            return r
        }
    }();
    a._$remove = d._$remove = function () {
        var e = {
            img: function (e) {
                e.src = t._$BLANK_IMAGE
            }, iframe: function (e) {
                e.src = "about:blank"
            }
        };
        var s = function (t, n) {
            if (n) {
                if (t.getElementsByTagName) i._$forEach(t.getElementsByTagName(n), s)
            } else {
                var r = (t.tagName || "").toLowerCase(), a = e[r];
                if (a) a(t)
            }
        };
        return function (e) {
            e = a._$get(e);
            if (e) {
                if (!arguments[1]) n._$clearEvent(e);
                s(e);
                s(e, "img");
                s(e, "iframe");
                if (e.parentNode) e.parentNode.removeChild(e)
            }
        }
    }();
    a._$removeByEC = d._$removeByEC = function (e) {
        e = a._$get(e);
        if (e) try {
            u.appendChild(e)
        } catch (t) {
            console.error(t)
        }
    };
    a._$clearChildren = d._$clearChildren = function (e) {
        e = a._$get(e);
        if (e) i._$reverseEach(e.childNodes, function (e) {
            a._$remove(e)
        })
    };
    a._$wrapInline = d._$wrapInline = function () {
        var e, t = /\s+/;
        var i = function () {
            if (!e) {
                e = a._$pushCSSText(".#<uispace>{position:relative;zoom:1;}.#<uispace>-show{position:absolute;top:0;left:100%;cursor:text;white-space:nowrap;overflow:hidden;}");
                a._$dumpCSSText()
            }
        };
        return function (n, s) {
            n = a._$get(n);
            if (!n) return null;
            i();
            s = s || o;
            var r = n.parentNode;
            if (!a._$hasClassName(r, e)) {
                r = a._$create("span", e);
                n.insertAdjacentElement("beforeBegin", r);
                r.appendChild(n)
            }
            var c = s.nid || "", _ = a._$getByClassName(r, c || e + "-show")[0];
            if (!_) {
                var d = ((s.clazz || "") + " " + c).trim();
                d = e + "-show" + (!d ? "" : " ") + d;
                _ = a._$create(s.tag || "span", d);
                r.appendChild(_)
            }
            var d = s.clazz;
            if (d) {
                d = (d || "").trim().split(t)[0] + "-parent";
                a._$addClassName(r, d)
            }
            return _
        }
    }();
    a._$dataset = d._$dataset = function (e, t, n) {
        var s = a._$id(e);
        if (!s) return null;
        if (i._$isString(t)) return r.__dataset(a._$get(e), t, n);
        if (i._$isObject(t)) {
            var o = {};
            i._$forIn(t, function (e, t) {
                o[t] = a._$dataset(s, t, e)
            });
            return o
        }
        if (i._$isArray(t)) {
            var o = {};
            i._$forEach(t, function (e) {
                o[e] = a._$dataset(s, e)
            });
            return o
        }
        return null
    };
    a._$attr = d._$attr = function (e, t, i) {
        e = a._$get(e);
        if (!e) return "";
        if (void 0 !== i && e.setAttribute) e.setAttribute(t, i);
        return r.__getAttribute(e, t)
    };
    a._$html2node = function () {
        var e = /<(.*?)(?=\s|>)/i, t = {li: "ul", tr: "tbody", td: "tr", th: "tr", option: "select"};
        return function (i) {
            var n;
            if (e.test(i)) n = t[(RegExp.$1 || "").toLowerCase()] || "";
            var s = a._$create(n || "div");
            s.innerHTML = i;
            var r = a._$getChildren(s);
            return r.length > 1 ? s : r[0]
        }
    }();
    a._$dom2xml = d._$dom2xml = function (e) {
        e = a._$get(e);
        return !e ? "" : r.__serializeDOM2XML(e)
    };
    a._$xml2dom = function (e) {
        e = (e || "").trim();
        return !e ? null : r.__parseDOMFromXML(e)
    };
    a._$dom2object = d._$dom2object = function (e, t) {
        t = t || {};
        e = a._$get(e);
        if (!e) return t;
        var n = e.tagName.toLowerCase(), s = a._$getChildren(e);
        if (!s || !s.length) {
            t[n] = e.textContent || e.text || "";
            return t
        }
        var r = {};
        t[n] = r;
        i._$forEach(s, function (e) {
            a._$dom2object(e, r)
        });
        return t
    };
    a._$xml2object = function (e) {
        try {
            return a._$dom2object(a._$xml2dom(e))
        } catch (t) {
            return null
        }
    };
    a._$text2type = function () {
        var e = {
            xml: function (e) {
                return a._$xml2dom(e)
            }, json: function (e) {
                try {
                    return JSON.parse(e)
                } catch (t) {
                    return null
                }
            }, dft: function (e) {
                return e
            }
        };
        return function (t, i) {
            i = (i || "").toLowerCase();
            return (e[i] || e.dft)(t || "")
        }
    }();
    a._$style = d._$style = function (e, t) {
        e = a._$get(e);
        if (e) i._$loop(t, function (t, i) {
            a._$setStyle(e, i, t)
        })
    };
    a._$setStyle = d._$setStyle = function (e, t, i) {
        e = a._$get(e);
        if (e) r.__setStyleValue(e, t, r.__processCSSText(i))
    };
    a._$getStyle = d._$getStyle = function (e, t) {
        e = a._$get(e);
        return !e ? "" : r.__getStyleValue(e, t)
    };
    a._$addScript = function (e) {
        try {
            e = e.trim();
            if (e) return new Function(e)()
        } catch (t) {
            console.error(t.message);
            console.error(t.stack)
        }
    };
    a._$addStyle = function () {
        var e = /[\s\r\n]+/gi;
        return function (t) {
            t = (t || "").replace(e, " ").trim();
            var i = null;
            if (t) {
                i = a._$create("style");
                document.head.appendChild(i);
                r.__injectCSSText(i, r.__processCSSText(t))
            }
            return i
        }
    }();
    a._$pushCSSText = function () {
        var e = /#<(.*?)>/g, t = +new Date;
        return function (t, n) {
            if (!f) f = [];
            var s = "auto-" + i._$uniqueID(), r = i._$merge({uispace: s}, n);
            f.push(t.replace(e, function (e, t) {
                return r[t] || e
            }));
            return s
        }
    }();
    a._$dumpCSSText = function () {
        if (f) {
            a._$addStyle(f.join(" "));
            f = null
        }
    };
    a._$appendCSSText = d._$appendCSSText = function (e, t) {
        e = a._$get(e);
        return !e ? null : r.__appendCSSText(e, r.__processCSSText(t))
    };
    a._$addClassName = d._$addClassName = function (e, t) {
        e = a._$get(e);
        if (e) r.__processClassName(e, "add", t)
    };
    a._$delClassName = d._$delClassName = function (e, t) {
        e = a._$get(e);
        if (e) r.__processClassName(e, "remove", t)
    };
    a._$replaceClassName = d._$replaceClassName = function (e, t, i) {
        e = a._$get(e);
        if (e) r.__processClassName(e, "replace", t, i)
    };
    a._$hasClassName = d._$hasClassName = function (e, t) {
        e = a._$get(e);
        if (e) return r.__hasClassName(e, t); else return !1
    };
    a._$matrix = function (e) {
        e = (e || "").trim();
        return r.__getCSSMatrix(e)
    };
    a._$css3d = d._$css3d = function (e, t, i) {
        e = a._$get(e);
        if (e) {
            var n = r.__processTransformValue(t, i);
            if (n) a._$setStyle(e, "transform", n)
        }
    };
    s._$merge(d);
    if (!0) e.copy(e.P("nej.e"), a);
    return a
}, "eddda1e8e7971753192ee8d61ef1680e", "508c1b33d3f81140e52b3368c768e540", "0ce1cf574f7be23168d864b3fb81d053", "a0c610891b37112b33fc6ca301b06e01", "4ff36f93915f61da99a05f35c5dcc945", "5faa696f3d634d9ce0a948fd79ceab64");
I$("b75e70b49b58692524630910fc7d379f", function (e, t, i, n, s, r, a, o) {
    var c;
    s._$$EventTarget = t._$klass();
    c = s._$$EventTarget.prototype;
    s._$$EventTarget._$allocate = function (e) {
        e = e || {};
        var t = !!this.__pool && this.__pool.shift();
        if (!t) {
            t = new this(e);
            this.__inst__ = (this.__inst__ || 0) + 1
        }
        t.__reset(e);
        return t
    };
    s._$$EventTarget._$recycle = function () {
        var e = function (e, t, i) {
            e._$recycle();
            i.splice(t, 1)
        };
        return function (t) {
            if (!t) return null;
            if (!n._$isArray(t)) {
                if (!(t instanceof this)) {
                    var i = t.constructor;
                    if (i._$recycle) i._$recycle(t);
                    return null
                }
                if (t == this.__instance) delete this.__instance;
                if (t == this.__inctanse) delete this.__inctanse;
                t.__destroy();
                if (!this.__pool) this.__pool = [];
                if (n._$indexOf(this.__pool, t) < 0) this.__pool.push(t);
                return null
            }
            n._$reverseEach(t, e, this)
        }
    }();
    s._$$EventTarget._$getInstance = function (e) {
        if (!this.__instance) this.__instance = this._$allocate(e);
        return this.__instance
    };
    s._$$EventTarget._$getInstanceWithReset = function (e, t) {
        if (t && this.__inctanse) {
            this.__inctanse._$recycle();
            delete this.__inctanse
        }
        if (!this.__inctanse) this.__inctanse = this._$allocate(e); else this.__inctanse.__reset(e);
        return this.__inctanse
    };
    c.__init = function () {
        this.__events = {};
        this.__events_dom = {};
        this.id = n._$uniqueID()
    };
    c.__reset = function (e) {
        this._$batEvent(e)
    };
    c.__destroy = function () {
        this._$clearEvent();
        this.__doClearDomEvent()
    };
    c.__doInitDomEvent = function () {
        var e = function (e) {
            if (e && !(e.length < 3)) {
                this.__events_dom["de-" + n._$uniqueID()] = e;
                i._$addEvent.apply(i, e)
            }
        };
        return function (t) {
            n._$forEach(t, e, this)
        }
    }();
    c.__doClearDomEvent = function () {
        var e = function (e, t, n) {
            delete n[t];
            i._$delEvent.apply(i, e)
        };
        return function () {
            n._$loop(this.__events_dom, e)
        }
    }();
    c.__doClearComponent = function (e) {
        e = e || a;
        n._$loop(this, function (t, i, n) {
            if (t && t._$recycle && !e(t)) {
                delete n[i];
                t._$recycle()
            }
        })
    };
    c._$recycle = function () {
        this.constructor._$recycle(this)
    };
    c._$hasEvent = function (e) {
        var e = (e || "").toLowerCase(), t = this.__events[e];
        return !!t && t !== a
    };
    c._$delEvent = function (e, t) {
        var e = (e || "").toLowerCase(), i = this.__events[e];
        if (n._$isArray(i)) {
            n._$reverseEach(i, function (e, i, n) {
                if (e == t) n.splice(i, 1)
            });
            if (!i.length) delete this.__events[e]
        } else if (i == t) delete this.__events[e]
    };
    c._$setEvent = function (e, t) {
        if (e && n._$isFunction(t)) this.__events[e.toLowerCase()] = t
    };
    c._$batEvent = function () {
        var e = function (e, t) {
            this._$setEvent(t, e)
        };
        return function (t) {
            n._$loop(t, e, this)
        }
    }();
    c._$clearEvent = function () {
        var e = function (e, t) {
            this._$clearEvent(t)
        };
        return function (t) {
            var t = (t || "").toLowerCase();
            if (t) delete this.__events[t]; else n._$loop(this.__events, e, this)
        }
    }();
    c._$addEvent = function (e, t) {
        if (e && n._$isFunction(t)) {
            e = e.toLowerCase();
            var i = this.__events[e];
            if (i) {
                if (!n._$isArray(i)) this.__events[e] = [i];
                this.__events[e].push(t)
            } else this.__events[e] = t
        }
    };
    c._$dispatchEvent = function (e) {
        var e = (e || "").toLowerCase(), t = this.__events[e];
        if (t) {
            var i = o.slice.call(arguments, 1);
            if (n._$isArray(t)) n._$forEach(t, function (e) {
                if (!1) e.apply(this, i); else try {
                    e.apply(this, i)
                } catch (t) {
                    console.error(t.message);
                    console.error(t.stack)
                }
            }, this); else t.apply(this, i)
        }
    };
    if (!0) {
        s._$$Event = s._$$EventTarget;
        e.copy(e.P("nej.ut"), s)
    }
    return s
}, "eddda1e8e7971753192ee8d61ef1680e", "05e56106e22a09a56a1098c586c2bfe9", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053");*/
!function () {
    if ("undefined" == typeof TrimPath) {
        TrimPath = {};
        if ("undefined" != typeof exports) TrimPath = exports
    }
    var e = {}, t = [], i = /\s+/g, n = +new Date, s, r, a;
    var o = function () {
        var e = /^\s*[\[\{'"].*?[\]\}'"]\s*$/, t = /[\&\|\<\>\+\-\*\/\%\,\(\)\[\]\?\:\!\=\;]/,
            i = /^(?:defined|null|undefined|true|false|instanceof|new|this|typeof|\$v|[\d]+)$/i, n = /^new\s+/,
            s = /['"]/;
        var r = function (t) {
            if (!e.test(t)) {
                t = t.split(".")[0].trim();
                if (t && !s.test(t)) {
                    t = t.replace(n, "");
                    try {
                        if (i.test(t)) return;
                        a[t] = 1
                    } catch (r) {
                    }
                }
            }
        };
        return function (i) {
            i = i || "";
            if (i && !e.test(i)) {
                var n = i.split(t);
                for (var s = 0, a = n.length; s < a; s++) r(n[s])
            }
        }
    }();
    var c = function (e) {
        if ("in" != e[2]) throw"bad for loop statement: " + e.join(" ");
        t.push(e[1]);
        o(e[3]);
        return "var __HASH__" + e[1] + " = " + e[3] + "," + e[1] + "," + e[1] + "_count=0;if (!!__HASH__" + e[1] + ")for(var " + e[1] + "_key in __HASH__" + e[1] + "){" + e[1] + " = __HASH__" + e[1] + "[" + e[1] + "_key];if (typeof(" + e[1] + ')=="function") continue;' + e[1] + "_count++;"
    };
    var _ = function () {
        var e = t[t.length - 1];
        return "}; if(!__HASH__" + e + "||!" + e + "_count){"
    };
    var d = function () {
        t.pop();
        return "};"
    };
    var f = function (e) {
        if ("as" != e[2]) throw"bad for list loop statement: " + e.join(" ");
        var t = e[1].split("..");
        if (t.length > 1) {
            o(t[0]);
            o(t[1]);
            return "for(var " + e[3] + "," + e[3] + "_index=0," + e[3] + "_beg=" + t[0] + "," + e[3] + "_end=" + t[1] + "," + e[3] + "_length=parseInt(" + e[3] + "_end-" + e[3] + "_beg+1);" + e[3] + "_index<" + e[3] + "_length;" + e[3] + "_index++){" + e[3] + " = " + e[3] + "_beg+" + e[3] + "_index;"
        } else {
            o(e[1]);
            return "for(var __LIST__" + e[3] + " = " + e[1] + "," + e[3] + "," + e[3] + "_index=0," + e[3] + "_length=__LIST__" + e[3] + ".length;" + e[3] + "_index<" + e[3] + "_length;" + e[3] + "_index++){" + e[3] + " = __LIST__" + e[3] + "[" + e[3] + "_index];"
        }
    };
    var h = function (e) {
        if (e && e.length) {
            e.shift();
            var t = e[0].split("(")[0];
            return "var " + t + " = function" + e.join("").replace(t, "") + "{var __OUT=[];"
        }
    };
    var l = function (e) {
        if (!e[1]) throw"bad include statement: " + e.join(" ");
        return 'if (typeof inline == "function"){__OUT.push(inline('
    };
    var u = function (e, t) {
        o(t.slice(1).join(" "));
        return e
    };
    var p = function (e) {
        return u("if(", e)
    };
    var m = function (e) {
        return u("}else if(", e)
    };
    var v = function (e) {
        return u("var ", e)
    };
    r = {
        blk: /^\{(cdata|minify|eval)/i,
        tag: "forelse|for|list|if|elseif|else|var|macro|break|notrim|trim|include",
        def: {
            "if": {pfix: p, sfix: "){", pmin: 1},
            "else": {pfix: "}else{"},
            elseif: {pfix: m, sfix: "){", pdft: "true"},
            "/if": {pfix: "}"},
            "for": {pfix: c, pmin: 3},
            forelse: {pfix: _},
            "/for": {pfix: d},
            list: {pfix: f, pmin: 3},
            "/list": {pfix: "};"},
            "break": {pfix: "break;"},
            "var": {pfix: v, sfix: ";"},
            macro: {pfix: h},
            "/macro": {pfix: 'return __OUT.join("");};'},
            trim: {
                pfix: function () {
                    s = !0
                }
            },
            "/trim": {
                pfix: function () {
                    s = null
                }
            },
            inline: {pfix: l, pmin: 1, sfix: "));}"}
        },
        ext: {
            seed: function (e) {
                return (e || "") + "" + n
            }, "default": function (e, t) {
                return e || t
            }
        }
    };
    var g = function () {
        var e = /\\([\{\}])/g;
        return function (t, n) {
            t = t.replace(e, "$1");
            var s = t.slice(1, -1).split(i), a = r.def[s[0]];
            if (a) {
                if (a.pmin && a.pmin >= s.length) throw"Statement needs more parameters:" + t;
                n.push(a.pfix && "string" != typeof a.pfix ? a.pfix(s) : a.pfix || "");
                if (a.sfix) {
                    if (s.length <= 1) {
                        if (a.pdft) n.push(a.pdft)
                    } else for (var o = 1, c = s.length; o < c; o++) {
                        if (o > 1) n.push(" ");
                        n.push(s[o])
                    }
                    n.push(a.sfix)
                }
            } else $(t, n)
        }
    }();
    var b = function (e, t) {
        if (e && e.length) if (1 != e.length) {
            var i = e.pop().split(":");
            t.push("__MDF['" + i.shift() + "'](");
            b(e, t);
            if (i.length > 0) {
                var n = i.join(":");
                o(n);
                t.push("," + n)
            }
            t.push(")")
        } else {
            var s = e.pop();
            o(s);
            t.push("" == s ? '""' : s)
        }
    };
    var $ = function (e, t) {
        if (e) {
            var i = e.split("\n");
            if (i && i.length) for (var n = 0, r = i.length, a; n < r; n++) {
                a = i[n];
                if (s) {
                    a = a.trim();
                    if (!a) continue
                }
                N(a, t);
                if (s && n < r - 1) t.push("__OUT.push('\\n');")
            }
        }
    };
    var N = function () {
        var e = /\|\|/g, t = /#@@#/g;
        return function (i, n) {
            var s = "}", r = -1, a = i.length, o, c, _, d, f;
            for (; r + s.length < a;) {
                o = "${";
                c = "}";
                _ = i.indexOf(o, r + s.length);
                if (_ < 0) break;
                if ("%" == i.charAt(_ + 2)) {
                    o = "${%";
                    c = "%}"
                }
                d = i.indexOf(c, _ + o.length);
                if (d < 0) break;
                A(i.substring(r + s.length, _), n);
                f = i.substring(_ + o.length, d).replace(e, "#@@#").split("|");
                for (var h = 0, l = f.length; h < l; f[h] = f[h].replace(t, "||"), h++) ;
                n.push("__OUT.push(");
                b(f, n);
                n.push(");");
                s = c;
                r = d
            }
            A(i.substring(r + s.length), n)
        }
    }();
    var A = function () {
        var e = {r: /\n|\\|\'/g, "\n": "\\n", "\\": "\\\\", "'": "\\'"};
        var t = function (t) {
            return (t || "").replace(e.r, function (t) {
                return e[t] || t
            })
        };
        return function (e, i) {
            if (e) i.push("__OUT.push('" + t(e) + "');")
        }
    }();
    var y = function () {
        var e = /\t/g, t = /\n/g, n = /\r\n?/g;
        var s = function (e, t) {
            var i = e.indexOf("}", t + 1);
            for (; "\\" == e.charAt(i - 1);) i = e.indexOf("}", i + 1);
            return i
        };
        var o = function () {
            var e = [], t = arguments[0];
            for (var i in t) {
                i = (i || "").trim();
                if (i) e.push(i + "=$v('" + i + "')"); else ;
            }
            return e.length > 0 ? "var " + e.join(",") + ";" : ""
        };
        return function (c) {
            a = {};
            c = c.replace(n, "\n").replace(e, "    ");
            var _ = ["if(!__CTX) return '';", ""];
            _.push("function $v(__NAME){var v = __CTX[__NAME];return v==null?window[__NAME]:v;};");
            _.push("var defined=function(__NAME){return __CTX[__NAME]!=null;},");
            _.push("__OUT=[];");
            var d = -1, f = c.length;
            var h, l, u, p, m, v, b, N;
            for (; d + 1 < f;) {
                h = d;
                h = c.indexOf("{", h + 1);
                for (; h >= 0;) {
                    l = s(c, h);
                    u = c.substring(h, l);
                    p = u.match(r.blk);
                    if (p) {
                        m = p[1].length + 1;
                        v = c.indexOf("}", h + m);
                        if (v >= 0) {
                            b = v - h - m <= 0 ? "{/" + p[1] + "}" : u.substr(m + 1);
                            m = c.indexOf(b, v + 1);
                            if (m >= 0) {
                                $(c.substring(d + 1, h), _);
                                N = c.substring(v + 1, m);
                                switch (p[1]) {
                                    case"cdata":
                                        A(N, _);
                                        break;
                                    case"minify":
                                        A(N.replace(t, " ").replace(i, " "), _);
                                        break;
                                    case"eval":
                                        if (N) _.push("__OUT.push((function(){" + N + "})());")
                                }
                                h = d = m + b.length - 1
                            }
                        }
                    } else if ("$" != c.charAt(h - 1) && "\\" != c.charAt(h - 1) && 0 == u.substr("/" == u.charAt(1) ? 2 : 1).search(r.tag)) break;
                    h = c.indexOf("{", h + 1)
                }
                if (h < 0) break;
                l = s(c, h);
                if (l < 0) break;
                $(c.substring(d + 1, h), _);
                g(c.substring(h, l + 1), _);
                d = l
            }
            $(c.substring(d + 1), _);
            _.push(';return __OUT.join("");');
            _[1] = o(a);
            a = null;
            return new Function("__CTX", "__MDF", _.join(""))
        }
    }();
    TrimPath.seed = function () {
        return n
    };
    TrimPath.merge = function () {
        var t = {};
        TrimPath.dump = function () {
            return {func: t, text: e}
        };
        return function (i, n, s) {
            try {
                n = n || {};
                if (!t[i] && !e[i]) return "";
                if (!t[i]) {
                    t[i] = y(e[i]);
                    delete e[i]
                }
                if (s) for (var a in r.ext) if (!s[a]) s[a] = r.ext[a];
                return t[i](n, s || r.ext)
            } catch (o) {
                return o.message || ""
            }
        }
    }();
    TrimPath.parse = function () {
        var t = +new Date;
        return function (i, n) {
            if (!i) return "";
            n = n || "ck-" + t++;
            if (null != e[n]) {
                console.warn("jst template overwrited with key " + n);
                console.debug("old template content: " + e[n].replace(/\n/g, " "));
                console.debug("new template content: " + i.replace(/\n/g, " "))
            }
            e[n] = i;
            return n
        }
    }()
}();
/*I$("83c67d5b20eeffc1f687e113ae22189f", function (e, t, i, n, s, r, a, o, c) {
    var _ = {};
    r._$seed = TrimPath.seed;
    r._$get = function () {
        var e = function (e) {
            return !r._$getTextTemplate ? "" : r._$getTextTemplate(e)
        };
        return function (i, n, s) {
            n = n || {};
            n.inline = e;
            s = t._$merge({}, _, s);
            s.rand = t._$uniqueID;
            s.format = t._$format;
            s.escape = t._$escape;
            s.inline = e;
            return TrimPath.merge(i, n, s)
        }
    }();
    r._$add = function (e, t) {
        if (!e) return "";
        var n, s = i._$get(e);
        if (s) {
            n = s.id;
            e = s.value || s.innerText;
            if (!t) i._$remove(s)
        }
        return TrimPath.parse(e, n)
    };
    r._$addTemplate = function (e, t) {
        return TrimPath.parse(e, t)
    };
    r._$render = function (e, t, n, s) {
        e = i._$get(e);
        if (e) e.innerHTML = r._$get(t, n, s)
    };
    r._$extend = function (e) {
        t._$merge(_, e)
    };
    n._$merge({_$render: r._$render});
    if (!0) {
        var d = e.P("nej.e");
        d._$addHtmlTemplate = r._$add;
        d._$getHtmlTemplate = r._$get;
        d._$getHtmlTemplateSeed = r._$seed;
        d._$renderHtmlTemplate = r._$render;
        d._$registJSTExt = r._$extend
    }
    return r
}, "eddda1e8e7971753192ee8d61ef1680e", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "4ff36f93915f61da99a05f35c5dcc945", "78bfbdda8193715fb09f28fbecfa4420");
I$("c284025e8eed55f31bcaf74be9c01fa8", function (e, t, i, n, s, r, a, o, c, _) {
    var d;
    a._$$CustomEvent = t._$klass();
    d = a._$$CustomEvent._$extend(r._$$EventTarget);
    d.__init = function () {
        this.__cache = {};
        this.__super()
    };
    d.__reset = function (e) {
        this.__super(e);
        this.__element = i._$get(e.element) || window;
        this.__doEventInit(e.event);
        this.__doEventAPIEnhance();
        this._$dispatchEvent("oninit")
    };
    d.__destroy = function () {
        var e = function (e, t, i) {
            if (!s._$isArray(e)) s._$safeDelete(this.__element, t);
            delete i[t]
        };
        return function () {
            this.__super();
            s._$loop(this.__cache, e, this);
            delete this.__element
        }
    }();
    d.__isDelegate = function (e, t) {
        e = i._$get(e);
        return !(e !== this.__element || t && !this.__cache["on" + t])
    };
    d.__doEventInit = function (e) {
        if (!s._$isString(e)) {
            if (s._$isArray(e)) s._$forEach(e, this.__doEventInit, this)
        } else {
            var t = "on" + e;
            if (!this.__cache[t]) this.__cache[t] = this.__doEventDispatch._$bind(this, e);
            this.__doEventBind(e)
        }
    };
    d.__doEventBind = function (e) {
        var t = "on" + e, i = this.__element[t], n = this.__cache[t];
        if (i != n) {
            this.__doEventDelete(e);
            if (i && i != c) this.__doEventAdd(e, i);
            this.__element[t] = n
        }
    };
    d.__doEventAdd = function (e, t, i) {
        var n = this.__cache[e];
        if (!n) {
            n = [];
            this.__cache[e] = n
        }
        if (s._$isFunction(t)) !i ? n.push(t) : n.unshift(t)
    };
    d.__doEventDelete = function (e, t) {
        var i = this.__cache[e];
        if (i && i.length) if (t) s._$reverseEach(i, function (e, i, n) {
            if (t === e) {
                n.splice(i, 1);
                return !0
            }
        }); else delete this.__cache[e]
    };
    d.__doEventDispatch = function (e, t) {
        t = t || {noargs: !0};
        if (t == o) t = {};
        t.type = e;
        this._$dispatchEvent("ondispatch", t);
        if (!t.stopped) s._$forEach(this.__cache[e], function (e) {
            if (!1) e(t); else try {
                e(t)
            } catch (i) {
                console.error(i.message);
                console.error(i.stack)
            }
        })
    };
    d.__doEventAPIEnhance = function () {
        var t = function (e) {
            var t = e.args, i = t[1].toLowerCase();
            if (this.__isDelegate(t[0], i)) {
                e.stopped = !0;
                this.__doEventBind(i);
                this.__doEventAdd(i, t[2], t[3]);
                this._$dispatchEvent("oneventadd", {type: i, listener: t[2]})
            }
        };
        var i = function (e) {
            var t = e.args, i = t[1].toLowerCase();
            if (this.__isDelegate(t[0], i)) {
                e.stopped = !0;
                this.__doEventDelete(i, t[2])
            }
        };
        var r = function (e) {
            var t = e.args, i = (t[1] || "").toLowerCase();
            if (this.__isDelegate(t[0])) {
                if (i) {
                    this.__doEventDelete(i);
                    return
                }
                s._$loop(this.__cache, function (e, t) {
                    if (s._$isArray(e)) this.__doEventDelete(t)
                }, this)
            }
        };
        var a = function (e) {
            var t = e.args, i = t[1].toLowerCase();
            if (this.__isDelegate(t[0], i)) {
                e.stopped = !0;
                t[0]["on" + i].apply(t[0], t.slice(2))
            }
        };
        return function () {
            if (!this.__enhanced) {
                this.__enhanced = !0;
                n._$addEvent = n._$addEvent._$aop(t._$bind(this));
                n._$delEvent = n._$delEvent._$aop(i._$bind(this));
                n._$clearEvent = n._$clearEvent._$aop(r._$bind(this));
                n._$dispatchEvent = n._$dispatchEvent._$aop(a._$bind(this));
                if (!0) e.copy(e.P("nej.v"), n)
            }
        }
    }();
    if (!0) e.copy(e.P("nej.ut"), a);
    return a
}, "eddda1e8e7971753192ee8d61ef1680e", "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b75e70b49b58692524630910fc7d379f");
I$("24592eeebab342b9ea06c28b90a5e3f1", function (e, t, i, n, s, r, a, o, c, _) {
    var d, f = 6e4;
    a._$$LoaderAbstract = t._$klass();
    d = a._$$LoaderAbstract._$extend(r._$$EventTarget);
    d.__init = function () {
        this.__super();
        this.__qopt = {onerror: this.__onQueueError._$bind(this), onload: this.__onQueueLoaded._$bind(this)};
        if (!this.constructor.__cache) this.constructor.__cache = {loaded: {}}
    };
    d.__reset = function (e) {
        this.__super(e);
        this.__version = e.version;
        this.__timeout = e.timeout;
        this.__qopt.version = this.__version;
        this.__qopt.timeout = this.__timeout
    };
    d.__delLoadData = function (e) {
        delete this.constructor.__cache[e]
    };
    d.__getLoadData = function (e) {
        return this.constructor.__cache[e]
    };
    d.__setLoadData = function (e, t) {
        this.constructor.__cache[e] = t
    };
    d.__getRequest = c;
    d.__doClearRequest = function (e) {
        n._$clearEvent(e)
    };
    d.__doRequest = function (e) {
        e.src = this.__url;
        document.head.appendChild(e)
    };
    d.__doClear = function () {
        var e = this.__getLoadData(this.__url);
        if (e) {
            window.clearTimeout(e.timer);
            this.__doClearRequest(e.request);
            delete e.bind;
            delete e.timer;
            delete e.request;
            this.__delLoadData(this.__url);
            this.__getLoadData("loaded")[this.__url] = !0
        }
    };
    d.__doCallback = function (e) {
        var t = this.__getLoadData(this.__url);
        if (t) {
            var i = t.bind;
            this.__doClear();
            if (i && i.length > 0) {
                var n;
                for (; i.length;) {
                    n = i.shift();
                    try {
                        n._$dispatchEvent(e, arguments[1])
                    } catch (s) {
                        if (!1) throw s;
                        console.error(s.message);
                        console.error(s.stack)
                    }
                    n._$recycle()
                }
            }
        }
    };
    d.__onError = function (e) {
        this.__doCallback("onerror", e)
    };
    d.__onLoaded = function () {
        this.__doCallback("onload")
    };
    d.__doLoadQueue = function (e) {
        this.constructor._$allocate(this.__qopt)._$load(e)
    };
    d.__onQueueCheck = function (e) {
        var t = this.__getLoadData(this.__key);
        if (t) {
            if (e) t.error++;
            t.loaded++;
            if (!(t.loaded < t.total)) {
                this.__delLoadData(this.__key);
                this._$dispatchEvent(t.error > 0 ? "onerror" : "onload")
            }
        }
    };
    d.__onQueueError = function (e) {
        this.__onQueueCheck(!0)
    };
    d.__onQueueLoaded = function () {
        this.__onQueueCheck()
    };
    d._$load = function (e) {
        e = s._$absolute(e);
        if (e) {
            this.__url = e;
            if (this.__version) this.__url += (this.__url.indexOf("?") < 0 ? "?" : "&") + this.__version;
            if (!this.__getLoadData("loaded")[this.__url]) {
                var t = this.__getLoadData(this.__url), r;
                if (t) {
                    t.bind.unshift(this);
                    t.timer = window.clearTimeout(t.timer)
                } else {
                    r = this.__getRequest();
                    t = {request: r, bind: [this]};
                    this.__setLoadData(this.__url, t);
                    n._$addEvent(r, "load", this.__onLoaded._$bind(this));
                    n._$addEvent(r, "error", this.__onError._$bind(this, {
                        code: i._$CODE_ERRSERV,
                        message: "无法加载指定资源文件[" + this.__url + "]！"
                    }))
                }
                if (0 != this.__timeout) t.timer = window.setTimeout(this.__onError._$bind(this, {
                    code: i._$CODE_TIMEOUT,
                    message: "指定资源文件[" + this.__url + "]载入超时！"
                }), this.__timeout || f);
                if (r) this.__doRequest(r);
                this._$dispatchEvent("onloading")
            } else {
                try {
                    this._$dispatchEvent("onload")
                } catch (a) {
                    if (!1) throw a;
                    console.error(a.message);
                    console.error(a.stack)
                }
                this._$recycle()
            }
        } else this._$dispatchEvent("onerror", {code: i._$CODE_NOTASGN, message: "请指定要载入的资源地址！"})
    };
    d._$queue = function (e) {
        if (e && e.length) {
            this.__key = s._$uniqueID();
            var t = {error: 0, loaded: 0, total: e.length};
            this.__setLoadData(this.__key, t);
            s._$forEach(e, function (e, i) {
                if (e) this.__doLoadQueue(e); else t.total--
            }, this);
            this._$dispatchEvent("onloading")
        } else this._$dispatchEvent("onerror", {code: i._$CODE_NOTASGN, message: "请指定要载入的资源队列！"})
    };
    return a
}, "eddda1e8e7971753192ee8d61ef1680e", "05e56106e22a09a56a1098c586c2bfe9", "508c1b33d3f81140e52b3368c768e540", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b75e70b49b58692524630910fc7d379f");
I$("f4dec1b84700c9cc21c1a3746102e1f6", function (e, t, i, n, s, r) {
    i._$cookie = function () {
        var e = new Date, i = +e, s = 864e5;
        var r = function (e) {
            var t = document.cookie, i = "\\b" + e + "=", n = t.search(i);
            if (n < 0) return "";
            n += i.length - 2;
            var s = t.indexOf(";", n);
            if (s < 0) s = t.length;
            return t.substring(n, s) || ""
        };
        return function (a, o) {
            if (void 0 === o) return r(a);
            if (t._$isString(o)) {
                if (o) {
                    document.cookie = a + "=" + o + ";";
                    return o
                }
                o = {expires: -100}
            }
            o = o || n;
            var c = a + "=" + (o.value || "") + ";";
            delete o.value;
            if (void 0 !== o.expires) {
                e.setTime(i + o.expires * s);
                o.expires = e.toGMTString()
            }
            c += t._$object2string(o, ";");
            document.cookie = c
        }
    }();
    if (!0) e.copy(e.P("nej.j"), i);
    return i
}, "eddda1e8e7971753192ee8d61ef1680e", "0ce1cf574f7be23168d864b3fb81d053");*/
!function () {
    var e = !0, t = null;
    !function (i) {
        function n(i) {
            if ("bug-string-char-index" == i) return "a" != "a"[0];
            var n, r = "json" == i;
            if (r || "json-stringify" == i || "json-parse" == i) {
                if ("json-stringify" == i || r) {
                    var a = _.stringify, c = "function" == typeof a && d;
                    if (c) {
                        (n = function () {
                            return 1
                        }).toJSON = n;
                        try {
                            c = "0" === a(0) && "0" === a(Number) && '""' == a(String) && a(s) === o && a(o) === o && a() === o && "1" === a(n) && "[1]" == a([n]) && "[null]" == a([o]) && "null" == a(t) && "[null,null,null]" == a([o, s, t]) && '{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}' == a({
                                a: [n, e, !1, t, "\0\b\n\f\r\t"]
                            }) && "1" === a(t, n) && "[\n 1,\n 2\n]" == a([1, 2], t, 1) && '"-271821-04-20T00:00:00.000Z"' == a(new Date((-864e13))) && '"+275760-09-13T00:00:00.000Z"' == a(new Date(864e13)) && '"-000001-01-01T00:00:00.000Z"' == a(new Date((-621987552e5))) && '"1969-12-31T23:59:59.999Z"' == a(new Date((-1)))
                        } catch (f) {
                            c = !1
                        }
                    }
                    if (!r) return c
                }
                if ("json-parse" == i || r) {
                    i = _.parse;
                    if ("function" == typeof i) try {
                        if (0 === i("0") && !i(!1)) {
                            n = i('{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}');
                            var h = 5 == n.a.length && 1 === n.a[0];
                            if (h) {
                                try {
                                    h = !i('"\t"')
                                } catch (l) {
                                }
                                if (h) try {
                                    h = 1 !== i("01")
                                } catch (u) {
                                }
                            }
                        }
                    } catch (p) {
                        h = !1
                    }
                    if (!r) return h
                }
                return c && h
            }
        }

        var s = {}.toString, r, a, o, c = "function" == typeof define && define.amd,
            _ = "object" == typeof exports && exports;
        _ || c ? "object" == typeof JSON && JSON ? _ ? (_.stringify = JSON.stringify, _.parse = JSON.parse) : _ = JSON : c && (_ = i.JSON = {}) : _ = i.JSON || (i.JSON = {});
        var d = new Date((-0xc782b5b800cec));
        try {
            d = -109252 == d.getUTCFullYear() && 0 === d.getUTCMonth() && 1 === d.getUTCDate() && 10 == d.getUTCHours() && 37 == d.getUTCMinutes() && 6 == d.getUTCSeconds() && 708 == d.getUTCMilliseconds()
        } catch (f) {
        }
        if (!n("json")) {
            var h = n("bug-string-char-index");
            if (!d) var l = Math.floor, u = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],
                p = function (e, t) {
                    return u[t] + 365 * (e - 1970) + l((e - 1969 + (t = +(t > 1))) / 4) - l((e - 1901 + t) / 100) + l((e - 1601 + t) / 400)
                };
            if (!(r = {}.hasOwnProperty)) r = function (e) {
                var i = {}, n;
                if ((i.__proto__ = t, i.__proto__ = {toString: 1}, i).toString != s) r = function (e) {
                    var i = this.__proto__, e = e in (this.__proto__ = t, this);
                    this.__proto__ = i;
                    return e
                }; else {
                    n = i.constructor;
                    r = function (e) {
                        var t = (this.constructor || n).prototype;
                        return e in this && !(e in t && this[e] === t[e])
                    }
                }
                i = t;
                return r.call(this, e)
            };
            var m = {"boolean": 1, number: 1, string: 1, undefined: 1};
            a = function (e, i) {
                var n = 0, a, o, c;
                (a = function () {
                    this.valueOf = 0
                }).prototype.valueOf = 0;
                o = new a;
                for (c in o) r.call(o, c) && n++;
                a = o = t;
                if (n) n = 2 == n ? function (e, t) {
                    var i = {}, n = "[object Function]" == s.call(e), a;
                    for (a in e) !(n && "prototype" == a) && !r.call(i, a) && (i[a] = 1) && r.call(e, a) && t(a)
                } : function (e, t) {
                    var i = "[object Function]" == s.call(e), n, a;
                    for (n in e) !(i && "prototype" == n) && r.call(e, n) && !(a = "constructor" === n) && t(n);
                    (a || r.call(e, n = "constructor")) && t(n)
                }; else {
                    o = ["valueOf", "toString", "toLocaleString", "propertyIsEnumerable", "isPrototypeOf", "hasOwnProperty", "constructor"];
                    n = function (e, t) {
                        var i = "[object Function]" == s.call(e), n, a;
                        if (a = !i) if (a = "function" != typeof e.constructor) {
                            a = typeof e.hasOwnProperty;
                            a = "object" == a ? !!e.hasOwnProperty : !m[a]
                        }
                        a = a ? e.hasOwnProperty : r;
                        for (n in e) !(i && "prototype" == n) && a.call(e, n) && t(n);
                        for (i = o.length; n = o[--i]; a.call(e, n) && t(n)) ;
                    }
                }
                n(e, i)
            };
            if (!n("json-stringify")) {
                var v = {92: "\\\\", 34: '\\"', 8: "\\b", 12: "\\f", 10: "\\n", 13: "\\r", 9: "\\t"},
                    g = function (e, t) {
                        return ("000000" + (t || 0)).slice(-e)
                    }, b = function (e) {
                        var t = '"', i = 0, n = e.length, s = n > 10 && h, r;
                        for (s && (r = e.split("")); i < n; i++) {
                            var a = e.charCodeAt(i);
                            switch (a) {
                                case 8:
                                case 9:
                                case 10:
                                case 12:
                                case 13:
                                case 34:
                                case 92:
                                    t += v[a];
                                    break;
                                default:
                                    if (a < 32) {
                                        t += "\\u00" + g(2, a.toString(16));
                                        break
                                    }
                                    t += s ? r[i] : h ? e.charAt(i) : e[i]
                            }
                        }
                        return t + '"'
                    }, $ = function (i, n, c, _, d, f, h) {
                        var u = n[i], m, v, N, A, y, w, C, k, E;
                        try {
                            u = n[i]
                        } catch (T) {
                        }
                        if ("object" == typeof u && u) {
                            m = s.call(u);
                            if ("[object Date]" == m && !r.call(u, "toJSON")) if (u > -1 / 0 && u < 1 / 0) {
                                if (p) {
                                    N = l(u / 864e5);
                                    for (m = l(N / 365.2425) + 1970 - 1; p(m + 1, 0) <= N; m++) ;
                                    for (v = l((N - p(m, 0)) / 30.42); p(m, v + 1) <= N; v++) ;
                                    N = 1 + N - p(m, v);
                                    A = (u % 864e5 + 864e5) % 864e5;
                                    y = l(A / 36e5) % 24;
                                    w = l(A / 6e4) % 60;
                                    C = l(A / 1e3) % 60;
                                    A %= 1e3
                                } else {
                                    m = u.getUTCFullYear();
                                    v = u.getUTCMonth();
                                    N = u.getUTCDate();
                                    y = u.getUTCHours();
                                    w = u.getUTCMinutes();
                                    C = u.getUTCSeconds();
                                    A = u.getUTCMilliseconds()
                                }
                                u = (m <= 0 || m >= 1e4 ? (m < 0 ? "-" : "+") + g(6, m < 0 ? -m : m) : g(4, m)) + "-" + g(2, v + 1) + "-" + g(2, N) + "T" + g(2, y) + ":" + g(2, w) + ":" + g(2, C) + "." + g(3, A) + "Z"
                            } else u = t; else if ("function" == typeof u.toJSON && ("[object Number]" != m && "[object String]" != m && "[object Array]" != m || r.call(u, "toJSON"))) u = u.toJSON(i)
                        }
                        c && (u = c.call(n, i, u));
                        if (u === t) return "null";
                        m = s.call(u);
                        if ("[object Boolean]" == m) return "" + u;
                        if ("[object Number]" == m) return u > -1 / 0 && u < 1 / 0 ? "" + u : "null";
                        if ("[object String]" == m) return b("" + u);
                        if ("object" == typeof u) {
                            for (i = h.length; i--;) if (h[i] === u) throw TypeError();
                            h.push(u);
                            k = [];
                            n = f;
                            f += d;
                            if ("[object Array]" == m) {
                                v = 0;
                                for (i = u.length; v < i; E || (E = e), v++) {
                                    m = $(v, u, c, _, d, f, h);
                                    k.push(m === o ? "null" : m)
                                }
                                i = E ? d ? "[\n" + f + k.join(",\n" + f) + "\n" + n + "]" : "[" + k.join(",") + "]" : "[]"
                            } else {
                                a(_ || u, function (t) {
                                    var i = $(t, u, c, _, d, f, h);
                                    i !== o && k.push(b(t) + ":" + (d ? " " : "") + i);
                                    E || (E = e)
                                });
                                i = E ? d ? "{\n" + f + k.join(",\n" + f) + "\n" + n + "}" : "{" + k.join(",") + "}" : "{}"
                            }
                            h.pop();
                            return i
                        }
                    };
                _.stringify = function (e, t, i) {
                    var n, r, a;
                    if ("function" == typeof t || "object" == typeof t && t) if ("[object Function]" == s.call(t)) r = t; else if ("[object Array]" == s.call(t)) {
                        a = {};
                        for (var o = 0, c = t.length, _; o < c; _ = t[o++], ("[object String]" == s.call(_) || "[object Number]" == s.call(_)) && (a[_] = 1)) ;
                    }
                    if (i) if ("[object Number]" == s.call(i)) {
                        if ((i -= i % 1) > 0) {
                            n = "";
                            for (i > 10 && (i = 10); n.length < i; n += " ") ;
                        }
                    } else "[object String]" == s.call(i) && (n = i.length <= 10 ? i : i.slice(0, 10));
                    return $("", (_ = {}, _[""] = e, _), r, a, n, "", [])
                }
            }
            if (!n("json-parse")) {
                var N = String.fromCharCode,
                    A = {92: "\\", 34: '"', 47: "/", 98: "\b", 116: "\t", 110: "\n", 102: "\f", 114: "\r"}, y, w,
                    C = function () {
                        y = w = t;
                        throw SyntaxError()
                    }, k = function () {
                        for (var i = w, n = i.length, s, r, a, o, c; y < n;) {
                            c = i.charCodeAt(y);
                            switch (c) {
                                case 9:
                                case 10:
                                case 13:
                                case 32:
                                    y++;
                                    break;
                                case 123:
                                case 125:
                                case 91:
                                case 93:
                                case 58:
                                case 44:
                                    s = h ? i.charAt(y) : i[y];
                                    y++;
                                    return s;
                                case 34:
                                    s = "@";
                                    for (y++; y < n;) {
                                        c = i.charCodeAt(y);
                                        if (c < 32) C(); else if (92 == c) {
                                            c = i.charCodeAt(++y);
                                            switch (c) {
                                                case 92:
                                                case 34:
                                                case 47:
                                                case 98:
                                                case 116:
                                                case 110:
                                                case 102:
                                                case 114:
                                                    s += A[c];
                                                    y++;
                                                    break;
                                                case 117:
                                                    r = ++y;
                                                    for (a = y + 4; y < a; y++) {
                                                        c = i.charCodeAt(y);
                                                        c >= 48 && c <= 57 || c >= 97 && c <= 102 || c >= 65 && c <= 70 || C()
                                                    }
                                                    s += N("0x" + i.slice(r, y));
                                                    break;
                                                default:
                                                    C()
                                            }
                                        } else {
                                            if (34 == c) break;
                                            c = i.charCodeAt(y);
                                            for (r = y; c >= 32 && 92 != c && 34 != c;) c = i.charCodeAt(++y);
                                            s += i.slice(r, y)
                                        }
                                    }
                                    if (34 == i.charCodeAt(y)) {
                                        y++;
                                        return s
                                    }
                                    C();
                                default:
                                    r = y;
                                    if (45 == c) {
                                        o = e;
                                        c = i.charCodeAt(++y)
                                    }
                                    if (c >= 48 && c <= 57) {
                                        for (48 == c && (c = i.charCodeAt(y + 1), c >= 48 && c <= 57) && C(); y < n && (c = i.charCodeAt(y), c >= 48 && c <= 57); y++) ;
                                        if (46 == i.charCodeAt(y)) {
                                            for (a = ++y; a < n && (c = i.charCodeAt(a), c >= 48 && c <= 57); a++) ;
                                            a == y && C();
                                            y = a
                                        }
                                        c = i.charCodeAt(y);
                                        if (101 == c || 69 == c) {
                                            c = i.charCodeAt(++y);
                                            (43 == c || 45 == c) && y++;
                                            for (a = y; a < n && (c = i.charCodeAt(a), c >= 48 && c <= 57); a++) ;
                                            a == y && C();
                                            y = a
                                        }
                                        return +i.slice(r, y)
                                    }
                                    o && C();
                                    if ("true" == i.slice(y, y + 4)) {
                                        y += 4;
                                        return e
                                    }
                                    if ("false" == i.slice(y, y + 5)) {
                                        y += 5;
                                        return !1
                                    }
                                    if ("null" == i.slice(y, y + 4)) {
                                        y += 4;
                                        return t
                                    }
                                    C()
                            }
                        }
                        return "$"
                    }, E = function (t) {
                        var i, n;
                        "$" == t && C();
                        if ("string" == typeof t) {
                            if ("@" == (h ? t.charAt(0) : t[0])) return t.slice(1);
                            if ("[" == t) {
                                for (i = []; ; n || (n = e)) {
                                    t = k();
                                    if ("]" == t) break;
                                    if (n) if ("," == t) {
                                        t = k();
                                        "]" == t && C()
                                    } else C();
                                    "," == t && C();
                                    i.push(E(t))
                                }
                                return i
                            }
                            if ("{" == t) {
                                for (i = {}; ; n || (n = e)) {
                                    t = k();
                                    if ("}" == t) break;
                                    if (n) if ("," == t) {
                                        t = k();
                                        "}" == t && C()
                                    } else C();
                                    ("," == t || "string" != typeof t || "@" != (h ? t.charAt(0) : t[0]) || ":" != k()) && C();
                                    i[t.slice(1)] = E(k())
                                }
                                return i
                            }
                            C()
                        }
                        return t
                    }, T = function (e, t, i) {
                        i = M(e, t, i);
                        i === o ? delete e[t] : e[t] = i
                    }, M = function (e, t, i) {
                        var n = e[t], r;
                        if ("object" == typeof n && n) if ("[object Array]" == s.call(n)) for (r = n.length; r--;) T(n, r, i); else a(n, function (e) {
                            T(n, e, i)
                        });
                        return i.call(e, t, n)
                    };
                _.parse = function (e, i) {
                    var n, r;
                    y = 0;
                    w = "" + e;
                    n = E(k());
                    "$" != k() && C();
                    y = w = t;
                    return i && "[object Function]" == s.call(i) ? M((r = {}, r[""] = n, r), "", i) : n
                }
            }
        }
        c && define(function () {
            return _
        })
    }(this);
    return JSON
}();
/*I$("b7a16419e67d7495695f37c22b41ed86", function (_m, _p, _o, _f, _r) {
    if ("trident" === _m._$KERNEL.engine && "2.0" == _m._$KERNEL.release) I$(20, function () {
        JSON.parse = function () {
            var _isSafeJSON = function (e) {
                return !/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(e.replace(/"(\\.|[^"\\])*"/g, ""))
            };
            return JSON.parse._$aop(function (_event) {
                var _str = _event.args[0] || "";
                if (_str.length >= 5e5) {
                    _event.stopped = !0;
                    _event.value = eval("(" + _str + ")")
                }
            })
        }()
    });
    return JSON
}, "605054bf841321ed40d652370c40f4e5");
I$("b88a5d8778c1f07dbe463db8ad695d8f", function () {
    return JSON
}, "b7a16419e67d7495695f37c22b41ed86");
I$("6d84f3655e024ff239e895b2f4d87d49", function (e, t, i, n, s, r, a, o, c, _, d, f) {
    var h;
    c._$$ProxyAbstract = e._$klass();
    h = c._$$ProxyAbstract._$extend(r._$$EventTarget);
    h.__reset = function (e) {
        this.__super(e);
        this.__request = t._$fetch({url: "", sync: !1, cookie: !1, type: "text", method: "GET", timeout: 6e4}, e);
        var i = n._$get("csrf");
        if (i.cookie && i.param) {
            var r = encodeURIComponent(i.param) + "=" + encodeURIComponent(a._$cookie(i.cookie) || ""),
                o = this.__request.url.indexOf("?") < 0 ? "?" : "&";
            this.__request.url += o + r
        }
        this.__headers = e.headers || {};
        var c = this.__headers[s._$HEAD_CT];
        if (null == c) this.__headers[s._$HEAD_CT] = s._$HEAD_CT_FORM
    };
    h.__destroy = function () {
        this.__super();
        delete this.__rkey;
        delete this.__request;
        delete this.__headers
    };
    h.__onLoadRequest = function (e) {
        var t = e.status;
        if (t != -1) if (0 == ("" + t).indexOf("2")) this._$dispatchEvent("onload", i._$text2type(e.result, this.__request.type)); else this._$dispatchEvent("onerror", {
            data: t,
            result: e.result,
            code: s._$CODE_ERRSERV,
            message: "服务器返回异常状态[" + t + "]!"
        }); else this._$dispatchEvent("onerror", {code: s._$CODE_TIMEOUT, message: "请求[" + this.__request.url + "]超时！"})
    };
    h.__doSendRequest = d;
    h.__getResponseHeader = d;
    h._$send = function (e) {
        var t = this.__request.url;
        if (t) try {
            this.__request.data = null == e ? null : e;
            var i = {request: this.__request, headers: this.__headers};
            try {
                this._$dispatchEvent("onbeforerequest", i)
            } catch (n) {
                console.error(n.message);
                console.error(n.stack)
            }
            this.__doSendRequest(i)
        } catch (r) {
            this._$dispatchEvent("onerror", {code: s._$CODE_ERRSERV, message: "请求[" + t + "]失败:" + r.message + "！"})
        } else this._$dispatchEvent("onerror", {code: s._$CODE_NOTASGN, message: "没有输入请求地址！"})
    };
    h._$abort = d;
    h._$header = function (e) {
        if (!t._$isArray(e)) return this.__getResponseHeader(e) || "";
        var i = {};
        t._$forEach(e, function (e) {
            i[e] = this._$header(e)
        }, this);
        return i
    };
    return c
}, "05e56106e22a09a56a1098c586c2bfe9", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "8a2ce8a85ab9ebc9f81ddebaed2e0d2d", "508c1b33d3f81140e52b3368c768e540", "b75e70b49b58692524630910fc7d379f", "f4dec1b84700c9cc21c1a3746102e1f6", "b88a5d8778c1f07dbe463db8ad695d8f");
I$("7314b252850b591a5c10539f3182b81d", function (e, t, i, n) {
    e.__getXMLHttpRequest = function () {
        return new XMLHttpRequest
    };
    return e
});
I$("dfe3b4caae82b55da5039b3ae0c4f6b7", function (e, t, i, n, s, r, a) {
    if ("trident" === e._$KERNEL.engine && e._$KERNEL.release <= "2.0") I$(19, function () {
        t.__getXMLHttpRequest = function () {
            var e = ["Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP.4.0", "Msxml2.XMLHTTP.5.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
            return function () {
                var t = null;
                i._$forIn(e, function (e) {
                    try {
                        t = new ActiveXObject(e);
                        return !0
                    } catch (i) {
                    }
                });
                return t
            }
        }()
    });
    return t
}, "605054bf841321ed40d652370c40f4e5", "7314b252850b591a5c10539f3182b81d", "0ce1cf574f7be23168d864b3fb81d053");
I$("cf0b6fbae624f39c70fb58c713b7c22d", function (e, t, i, n, s, r, a, o, c) {
    var _;
    r._$$ProxyXHR = i._$klass();
    _ = r._$$ProxyXHR._$extend(e._$$ProxyAbstract);
    _.__destroy = function () {
        this.__super();
        window.clearTimeout(this.__timer);
        delete this.__timer;
        try {
            this.__xhr.onreadystatechange = o;
            this.__xhr.abort()
        } catch (e) {
        }
        delete this.__xhr
    };
    _.__doSendRequest = function () {
        var e = function (e, t) {
            this.__xhr.setRequestHeader(t, e)
        };
        var i = function (e) {
            var i = [];
            t._$reverseEach(e.getElementsByTagName("input"), function (e) {
                if ("file" == e.type) if (e.name) {
                    if (e.files.length > 1) {
                        t._$forEach(e.files, function (t) {
                            i.push({name: e.name, file: t})
                        });
                        e.parentNode.removeChild(e)
                    }
                } else e.parentNode.removeChild(e)
            });
            return i.length > 0 ? i : null
        };
        return function (r) {
            var a = r.request, o = r.headers;
            this.__xhr = s.__getXMLHttpRequest();
            if (o[n._$HEAD_CT] === n._$HEAD_CT_FILE) {
                delete o[n._$HEAD_CT];
                this.__xhr.upload.onprogress = this.__onStateChange._$bind(this, 1);
                if ("FORM" === a.data.tagName) {
                    var c = i(a.data);
                    a.data = new FormData(a.data);
                    t._$forEach(c, function (e) {
                        var i = e.file;
                        a.data.append(e.name || i.name || "file-" + t._$uniqueID(), i)
                    })
                }
            }
            this.__xhr.onreadystatechange = this.__onStateChange._$bind(this, 2);
            if (0 !== a.timeout) this.__timer = window.setTimeout(this.__onStateChange._$bind(this, 3), a.timeout);
            this.__xhr.open(a.method, a.url, !a.sync);
            t._$loop(o, e, this);
            if (this.__request.cookie && "withCredentials" in this.__xhr) this.__xhr.withCredentials = !0;
            this.__xhr.send(a.data)
        }
    }();
    _.__onStateChange = function (e) {
        switch (e) {
            case 1:
                this._$dispatchEvent("onuploading", arguments[1]);
                break;
            case 2:
                if (4 == this.__xhr.readyState) this.__onLoadRequest({
                    status: this.__xhr.status,
                    result: this.__xhr.responseText || ""
                });
                break;
            case 3:
                this.__onLoadRequest({status: -1})
        }
    };
    _.__getResponseHeader = function (e) {
        return !this.__xhr ? "" : this.__xhr.getResponseHeader(e)
    };
    _._$abort = function () {
        this.__onLoadRequest({status: 0})
    };
    return r
}, "6d84f3655e024ff239e895b2f4d87d49", "0ce1cf574f7be23168d864b3fb81d053", "05e56106e22a09a56a1098c586c2bfe9", "508c1b33d3f81140e52b3368c768e540", "dfe3b4caae82b55da5039b3ae0c4f6b7");
I$("425fd88bc8346eaf2a37c4d5f56b2052", function (e, t, i, n, s) {
    var r = this, a = e._$KERNEL.prefix.pro, o = e._$is("desktop") ? 80 : e._$is("ios") ? 50 : 30;
    t.__requestAnimationFrame = function () {
        var t = e._$is("android") ? null : r.requestAnimationFrame || r[a + "RequestAnimationFrame"];
        return function () {
            if (!t) t = function (e) {
                return window.setTimeout(function () {
                    try {
                        e(+new Date)
                    } catch (t) {
                    }
                }, 1e3 / o)
            };
            return t.apply(this, arguments)
        }
    }();
    t.__cancelAnimationFrame = function () {
        var t = e._$is("android") ? null : r.cancelAnimationFrame || r[a + "CancelAnimationFrame"];
        return function () {
            if (!t) t = function (e) {
                window.clearTimeout(e)
            };
            return t.apply(this, arguments)
        }
    }();
    return t
}, "605054bf841321ed40d652370c40f4e5");
I$("e8392a5958cffd3f574dfba7c9017240", function (e, t) {
    return e
}, "425fd88bc8346eaf2a37c4d5f56b2052", "605054bf841321ed40d652370c40f4e5");
I$("b07368ae943ad8607c2daf6ad5c31d24", function (e, t, i, n, s, r) {
    i.requestAnimationFrame = function () {
        t.__requestAnimationFrame.apply(null, arguments)
    };
    i.cancelAnimationFrame = function () {
        t.__cancelAnimationFrame.apply(null, arguments)
    };
    if (!0) {
        if (!this.requestAnimationFrame) this.requestAnimationFrame = i.requestAnimationFrame;
        if (!this.cancelAnimationFrame) this.cancelAnimationFrame = i.cancelAnimationFrame
    }
    return i
}, "605054bf841321ed40d652370c40f4e5", "e8392a5958cffd3f574dfba7c9017240");
I$("3adae5e84fc5503b7e7f08a6a654fd70", function (e, t, i, n, s) {
    t.__canFlashEventBubble = function (e) {
        return "transparent" != (e || "").toLowerCase()
    };
    return t
}, "605054bf841321ed40d652370c40f4e5");
I$("569d8339ed0ccb98425fef1b4c766a67", function (e, t, i, n, s, r) {
    if ("trident" === t._$KERNEL.engine) I$(23, function () {
        e.__canFlashEventBubble = function (e) {
            return !0
        }
    });
    if ("webkit" === t._$KERNEL.engine) I$(24, function () {
        e.__canFlashEventBubble = function (e) {
            return !0
        }
    });
    return e
}, "3adae5e84fc5503b7e7f08a6a654fd70", "605054bf841321ed40d652370c40f4e5");
I$("dc3041bd81ac214aebb2cf0cd669db74", '{var hide  = defined("hidden")&&!!hidden}\n{var param = defined("params")&&params||NEJ.O}\n{var width = !hide?width:"1px",height = !hide?height:"1px"}\n{if hide}<div style="position:absolute;top:0;left:0;width:1px;height:1px;z-index:10000;overflow:hidden;">{/if}\n<object classid = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"\n        codebase = "http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"\n        width = "${width|default:"100px"}"\n        height = "${height|default:"100px"}" id="${id}">\n    <param value="${src}" name="movie">\n    {for x in param}\n    <param value="${x}" name="${x_key}"/>\n    {/for}\n    <embed src="${src}" name="${id}"\n           width="${width|default:"100px"}"\n           height="${height|default:"100px"}"\n           pluginspage="http://www.adobe.com/go/getflashplayer"\n           type="application/x-shockwave-flash"\n           {for x in param}${x_key}="${x}" {/for}></embed>\n</object>\n{if hide}</div>{/if}');
I$("a76444dea0d06a6a4a5881ca735e8a88", function (e, t, i, n, s, r, a, o, c, _, d, f) {
    var h = s._$add(o);
    c._$flash = function () {
        var o = {}, c, _ = /^(?:mouse.*|(?:dbl)?click)$/i;
        window.onflashevent = function (e) {
            var t = decodeURIComponent(e.target), i = e.type.toLowerCase();
            var n = o[t + "-tgt"];
            if (n && _.test(i)) f(n, e);
            var s = o[t + "-on" + i];
            if (s) {
                var r = "";
                try {
                    r = s(e)
                } catch (a) {
                }
                return r
            }
        };
        var d = function (e) {
            c = document.title;
            var i = t._$get(e.parent) || document.body, n = s._$get(h, e);
            i.insertAdjacentHTML(!e.hidden ? "beforeEnd" : "afterBegin", n)
        };
        var f = function (e, t) {
            var n = t.type.toLowerCase();
            r.requestAnimationFrame(function () {
                i._$dispatchEvent(e, n)
            })
        };
        var l = function (e) {
            return !!e && !!e.inited && !!e.inited()
        };
        var u = function (e) {
            var i = [document.embeds[e], t._$get(e), document[e], window[e]], s = n._$forIn(i, l), r = i[s],
                a = e + "-count";
            o[a]++;
            if (!(r || o[a] > 100)) window.setTimeout(u._$bind(null, e), 300); else {
                if (c) {
                    document.title = c;
                    c = null
                }
                o[e](r);
                delete o[e];
                delete o[a]
            }
        };
        var p = function (e) {
            var i = e.id, s = e.params;
            if (!s) {
                s = {};
                e.params = s
            }
            var r = s.flashvars || "";
            r += (!r ? "" : "&") + ("id=" + i);
            if (!e.hidden && (e.target || a.__canFlashEventBubble(s.wmode))) {
                var c = t._$id(e.target) || t._$id(e.parent);
                o[i + "-tgt"] = c
            }
            s.flashvars = r;
            n._$loop(e, function (e, t) {
                if (n._$isFunction(e) && "onready" != t) o[i + "-" + t] = e
            })
        };
        return function (t) {
            t = e.X({}, t);
            if (t.src) {
                var i = "_" + n._$uniqueID();
                t.id = i;
                p(t);
                d(t);
                if (t.onready) {
                    o[i] = t.onready;
                    o[i + "-count"] = 0;
                    u(i)
                }
            }
        }
    }();
    if (!0) e.copy(e.P("nej.e"), c);
    return c
}, "eddda1e8e7971753192ee8d61ef1680e", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "83c67d5b20eeffc1f687e113ae22189f", "b07368ae943ad8607c2daf6ad5c31d24", "569d8339ed0ccb98425fef1b4c766a67", "dc3041bd81ac214aebb2cf0cd669db74");
I$("88cbc5b855594c28a199fb1451128ddd", function (e, t, i, n, s, r, a, o, c) {
    var _, d = {}, f = n._$uniqueID();
    this["ld" + f] = function (e, t) {
        var i = d[e];
        if (i) {
            delete d[e];
            i.__onLoadRequest({status: 200, result: t})
        }
    };
    this["er" + f] = function (e, t) {
        var i = d[e];
        if (i) {
            delete d[e];
            i.__onLoadRequest({status: t || 0})
        }
    };
    r._$$ProxyFlash = t._$klass();
    _ = r._$$ProxyFlash._$extend(e._$$ProxyAbstract);
    _.__doSendRequest = function (e) {
        var t = d.flash;
        if (!n._$isArray(t)) if (t) {
            this.__rkey = n._$uniqueID();
            d[this.__rkey] = this;
            var r = n._$fetch({url: "", data: null, method: "GET"}, e.request);
            r.key = this.__rkey;
            r.headers = e.headers;
            r.onerror = "cb.er" + f;
            r.onloaded = "cb.ld" + f;
            var a = i._$getFlashProxy(r.url);
            if (a) r.policyURL = a;
            t.request(r)
        } else {
            d.flash = [this.__doSendRequest._$bind(this, e)];
            s._$flash({
                hidden: !0, src: i._$get("ajax.swf"), onready: function (e) {
                    if (e) {
                        var t = d.flash;
                        d.flash = e;
                        n._$reverseEach(t, function (e, t, i) {
                            try {
                                e()
                            } catch (n) {
                            }
                        })
                    }
                }
            })
        } else t.push(this.__doSendRequest._$bind(this, e))
    };
    _._$abort = function () {
        delete d[this.__rkey];
        this.__onLoadRequest({status: 0})
    };
    return r
}, "6d84f3655e024ff239e895b2f4d87d49", "05e56106e22a09a56a1098c586c2bfe9", "8a2ce8a85ab9ebc9f81ddebaed2e0d2d", "0ce1cf574f7be23168d864b3fb81d053", "a76444dea0d06a6a4a5881ca735e8a88");
I$("7b7fc07b309a0f0e9c9057051ad15beb", function (e, t, i, n) {
    e.__formatOrigin = function () {
        var e = /^([\w]+?:\/\/.*?(?=\/|$))/i;
        return function (t) {
            t = t || "";
            if (e.test(t)) return RegExp.$1; else return "*"
        }
    }();
    e.__formatPassData = function (e) {
        return e
    };
    e.__postMessage = function (i, n) {
        if (i.postMessage) {
            n = n || t;
            i.postMessage(e.__formatPassData(n.data), e.__formatOrigin(n.origin))
        }
    };
    return e
});
I$("7c2eefd26ba32a1b23d59297765a09db", function (e, t, i, n, s, r, a, o) {
    if ("trident" === e._$KERNEL.engine && e._$KERNEL.release >= "4.0" && e._$KERNEL.release <= "5.0") I$(14, function () {
        t.__formatPassData = function (e) {
            return JSON.stringify(e)
        }
    });
    if ("trident" === e._$KERNEL.engine && e._$KERNEL.release <= "3.0") I$(15, function (e) {
        var s = "MSG|", a = [];
        var o = function () {
            var e = unescape(window.name || "").trim();
            if (e && 0 == e.indexOf(s)) {
                window.name = "";
                var r = i._$string2object(e.replace(s, ""), "|"), a = (r.origin || "").toLowerCase();
                if (!a || "*" == a || 0 == location.href.toLowerCase().indexOf(a)) n._$dispatchEvent(window, "message", {
                    data: JSON.parse(r.data || "null"),
                    source: window.frames[r.self] || r.self,
                    origin: t.__formatOrigin(r.ref || document.referrer)
                })
            }
        };
        var c = function () {
            var e;
            var t = function (t, n, s) {
                if (i._$indexOf(e, t.w) < 0) {
                    e.push(t.w);
                    s.splice(n, 1);
                    t.w.name = t.d
                }
            };
            return function () {
                e = [];
                i._$reverseEach(a, t);
                e = null
            }
        }();
        t.__postMessage = function () {
            var e = function (e) {
                var t = {};
                e = e || r;
                t.origin = e.origin || "";
                t.ref = location.href;
                t.self = e.source;
                t.data = JSON.stringify(e.data);
                return s + i._$object2string(t, "|", !0)
            };
            return function (t, i) {
                a.unshift({w: t, d: escape(e(i))})
            }
        }();
        e._$$CustomEvent._$allocate({element: window, event: "message"});
        setInterval(c, 100);
        setInterval(o, 20)
    }, "c284025e8eed55f31bcaf74be9c01fa8", "b88a5d8778c1f07dbe463db8ad695d8f");
    return t
}, "605054bf841321ed40d652370c40f4e5", "7b7fc07b309a0f0e9c9057051ad15beb", "0ce1cf574f7be23168d864b3fb81d053", "a0c610891b37112b33fc6ca301b06e01");
I$("4e3477f1faad0e644cf31bd4765e12dc", function (e, t, i, n, s, r, a, o) {
    s._$postMessage = function () {
        var e = window.name || "_parent", s = [];
        s["_top"] = window.top;
        s["_self"] = window;
        s["_parent"] = window.parent;
        return function (a, o) {
            if (t._$isString(a)) {
                a = s[a] || window.frames[a] || (i._$get(a) || r).contentWindow;
                if (!a) return
            }
            var c = t._$fetch({data: null, origin: "*", source: e}, o);
            n.__postMessage(a, c)
        }
    }();
    if (!0) e.copy(e.P("nej.j"), s);
    return s
}, "eddda1e8e7971753192ee8d61ef1680e", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "7c2eefd26ba32a1b23d59297765a09db");
I$("65b8e4506fb9d567f15a45c3737a24e7", function (e, t, i, n, s, r, a, o, c, _, d) {
    var f, h = {};
    o._$$ProxyFrame = i._$klass();
    f = o._$$ProxyFrame._$extend(e._$$ProxyAbstract);
    f.__init = function () {
        var e = "NEJ-AJAX-DATA:", t = !1;
        var i = function (t) {
            var i = t.data;
            if (0 == i.indexOf(e)) {
                i = JSON.parse(i.replace(e, ""));
                var n = h[i.key];
                if (n) {
                    delete h[i.key];
                    i.result = decodeURIComponent(i.result || "");
                    n.__onLoadRequest(i)
                }
            }
        };
        var s = function () {
            if (!t) {
                t = !0;
                n._$addEvent(window, "message", i)
            }
        };
        return function () {
            this.__super();
            s()
        }
    }();
    f.__doSendRequest = function (e) {
        var i = e.request, o = s._$getFrameProxy(i.url), c = h[o];
        if (!t._$isArray(c)) if (c) {
            this.__rkey = t._$uniqueID();
            h[this.__rkey] = this;
            var _ = t._$fetch({url: "", data: null, timeout: 0, method: "GET"}, i);
            _.key = this.__rkey;
            _.headers = e.headers;
            a._$postMessage(h[o], {data: _})
        } else {
            h[o] = [this.__doSendRequest._$bind(this, e)];
            r._$createXFrame({
                src: o, visible: !1, onload: function (e) {
                    var i = h[o];
                    h[o] = n._$getElement(e).contentWindow;
                    t._$reverseEach(i, function (e) {
                        try {
                            e()
                        } catch (t) {
                        }
                    })
                }
            })
        } else c.push(this.__doSendRequest._$bind(this, e))
    };
    f._$abort = function () {
        delete h[this.__rkey];
        this.__onLoadRequest({status: 0})
    };
    return o
}, "6d84f3655e024ff239e895b2f4d87d49", "0ce1cf574f7be23168d864b3fb81d053", "05e56106e22a09a56a1098c586c2bfe9", "a0c610891b37112b33fc6ca301b06e01", "8a2ce8a85ab9ebc9f81ddebaed2e0d2d", "d73a726efb8534e8d72defb6cd280a1c", "4e3477f1faad0e644cf31bd4765e12dc");
I$("b3244414949a4e18af46eec25ab74cca", function (e, t, i, n, s, r, a, o, c, _, d, f) {
    var h, l = {}, u = "NEJ-UPLOAD-RESULT:";
    c._$$ProxyUpload = t._$klass();
    h = c._$$ProxyUpload._$extend(e._$$ProxyAbstract);
    h.__init = function () {
        var e = !1;
        var t = function (e) {
            var t = e.data;
            if (0 == t.indexOf(u)) {
                t = JSON.parse(t.replace(u, ""));
                var i = l[t.key];
                if (i) {
                    delete l[t.key];
                    i.__onLoadRequest(decodeURIComponent(t.result))
                }
            }
        };
        var i = function () {
            if (!e) {
                e = !0;
                n._$addEvent(window, "message", t)
            }
        };
        return function () {
            this.__super();
            i()
        }
    }();
    h.__destroy = function () {
        this.__super();
        s._$remove(this.__frame);
        delete this.__frame;
        window.clearTimeout(this.__timer);
        delete this.__timer
    };
    h.__onLoadRequest = function (e) {
        try {
            var t = s._$text2type(e, this.__request.type);
            this._$dispatchEvent("onload", t)
        } catch (i) {
            this._$dispatchEvent("onerror", {code: r._$CODE_ERREVAL, message: e})
        }
    };
    h.__doSendRequest = function () {
        var e = function () {
            var e, t;
            try {
                var e = this.__frame.contentWindow.document.body, t = (e.innerText || e.textContent || "").trim();
                if (t.indexOf(u) >= 0 || e.innerHTML.indexOf(u) >= 0) return
            } catch (i) {
                return
            }
            this.__onLoadRequest(t)
        };
        var t = function (e, i, n) {
            a._$request(e, {
                type: "json", method: "POST", cookie: n, mode: parseInt(i) || 0, onload: function (s) {
                    if (this.__timer) {
                        this._$dispatchEvent("onuploading", s);
                        this.__timer = window.setTimeout(t._$bind(this, e, i, n), 1e3)
                    }
                }._$bind(this), onerror: function (s) {
                    if (this.__timer) this.__timer = window.setTimeout(t._$bind(this, e, i, n), 1e3)
                }._$bind(this)
            })
        };
        return function (a) {
            var o = a.request, c = a.headers, d = o.data, f = i._$uniqueID();
            l[f] = this;
            d.target = f;
            d.method = "POST";
            d.enctype = r._$HEAD_CT_FILE;
            d.encoding = r._$HEAD_CT_FILE;
            var h = d.action || "", u = h.indexOf("?") <= 0 ? "?" : "&";
            d.action = h + u + "_proxy_=form";
            this.__frame = s._$createXFrame({
                name: f, onload: function (i) {
                    var s = n._$getElement(i);
                    n._$addEvent(s, "load", e._$bind(this));
                    d.submit();
                    var r = (d.nej_query || _).value;
                    if (r) {
                        var a = (d.nej_mode || _).value, o = "true" === (d.nej_cookie || _).value;
                        this.__timer = window.setTimeout(t._$bind(this, r, a, o), 100)
                    }
                }._$bind(this)
            })
        }
    }();
    h._$abort = function () {
        this._$dispatchEvent("onerror", {code: r._$CODE_ERRABRT, message: "客户端终止文件上传"})
    };
    return c
}, "6d84f3655e024ff239e895b2f4d87d49", "05e56106e22a09a56a1098c586c2bfe9", "0ce1cf574f7be23168d864b3fb81d053", "a0c610891b37112b33fc6ca301b06e01", "d73a726efb8534e8d72defb6cd280a1c", "508c1b33d3f81140e52b3368c768e540", "46f2cd0a022c7fb344095e1795b5927b", "4e3477f1faad0e644cf31bd4765e12dc");
I$("4fee107943f354155f55dfbd29656ba7", function (e, t, i, n, s, r, a, o) {
    s.__getProxyByMode = function (s, r, a) {
        var o = r ? {2: n._$$ProxyUpload} : {2: i._$$ProxyFrame, 3: t._$$ProxyFlash};
        return (o[s] || e._$$ProxyXHR)._$allocate(a)
    };
    return s
}, "cf0b6fbae624f39c70fb58c713b7c22d", "88cbc5b855594c28a199fb1451128ddd", "65b8e4506fb9d567f15a45c3737a24e7", "b3244414949a4e18af46eec25ab74cca");
I$("bb5cb96917cd5b6e11764f5efc8cca4f", function (e, t, i, n, s, r) {
    if ("trident" === e._$KERNEL.engine && e._$KERNEL.release <= "5.0") I$(16, function () {
        t.__getProxyByMode = function () {
            var e = {0: 2, 1: 3};
            return t.__getProxyByMode._$aop(function (t) {
                var i = t.args, n = i[0] || 0;
                i[0] = i[1] ? 2 : e[n] || n
            })
        }()
    });
    return t
}, "605054bf841321ed40d652370c40f4e5", "4fee107943f354155f55dfbd29656ba7");
I$("46f2cd0a022c7fb344095e1795b5927b", function (e, t, i, n, s, r, a, o, c, _) {
    var d = {}, f = c;
    a._$abort = function (e) {
        var t = d[e];
        if (t) t.req._$abort()
    };
    a._$filter = function (e) {
        f = e || c
    };
    a._$request = function () {
        var e = (location.protocol + "//" + location.host).toLowerCase();
        var n = function (t) {
            var n = i._$url2origin(t);
            return !!n && n != e
        };
        var a = function (e) {
            return (e || o)[t._$HEAD_CT] == t._$HEAD_CT_FILE
        };
        var _ = function (e) {
            var t = a(e.headers);
            if (!n(e.url) && !t) return s._$$ProxyXHR._$allocate(e); else return r.__getProxyByMode(e.mode, t, e)
        };
        var h = function (e, t) {
            var i = {data: t};
            var n = e.result.headers;
            if (n) i.headers = e.req._$header(n);
            return i
        };
        var l = function (e) {
            var t = d[e];
            if (t) {
                if (t.req) t.req._$recycle();
                delete d[e]
            }
        };
        var u = function (e, t) {
            var i = d[e];
            if (i) {
                var n = arguments[2];
                if ("onload" == t && i.result) n = h(i, n);
                l(e);
                var s = {type: t, result: n};
                f(s);
                if (!s.stopped) (i[t] || c)(s.result)
            }
        };
        var p = function (e, t) {
            u(e, "onload", t)
        };
        var m = function (e, t) {
            u(e, "onerror", t)
        };
        var v = function (e, t) {
            var n = e.indexOf("?") < 0 ? "?" : "&", t = t || "";
            if (i._$isObject(t)) t = i._$object2query(t);
            if (t) e += n + t;
            return e
        };
        return function (e, t) {
            t = t || {};
            var n = i._$uniqueID(), s = {result: t.result, onload: t.onload || c, onerror: t.onerror || c};
            d[n] = s;
            t.onload = p._$bind(null, n);
            t.onerror = m._$bind(null, n);
            if (t.query) e = v(e, t.query);
            var r = t.method || "";
            if ((!r || /get/i.test(r)) && t.data) {
                e = v(e, t.data);
                t.data = null
            }
            t.url = e;
            s.req = _(t);
            s.req._$send(t.data);
            return n
        }
    }();
    a._$upload = function (e, s) {
        e = n._$get(e);
        if (!e) return "";
        var r = i._$fetch({
            mode: 0,
            type: "json",
            query: null,
            cookie: !1,
            headers: {},
            onload: null,
            onerror: null,
            onuploading: null,
            onbeforerequest: null
        }, s);
        r.data = e;
        r.method = "POST";
        r.timeout = 0;
        r.headers[t._$HEAD_CT] = t._$HEAD_CT_FILE;
        return a._$request(e.action, r)
    };
    if (!0) e.copy(e.P("nej.j"), a);
    return a
}, "eddda1e8e7971753192ee8d61ef1680e", "508c1b33d3f81140e52b3368c768e540", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "cf0b6fbae624f39c70fb58c713b7c22d", "bb5cb96917cd5b6e11764f5efc8cca4f");
I$("ea1e78d361775ea972a9cc89496e3492", function (e, t, i, n, s, r, a, o) {
    var c;
    s._$$LoaderText = t._$klass();
    c = s._$$LoaderText._$extend(e._$$LoaderAbstract);
    c.__getRequest = function () {
        return null
    };
    c.__doRequest = function () {
        n._$request(this.__url, {
            method: "GET",
            type: "text",
            onload: this.__onLoaded._$bind(this),
            onerror: this.__onError._$bind(this)
        })
    };
    c.__onLoaded = function (e) {
        this.__doCallback("onload", {url: this.__url, content: e})
    };
    return s
}, "24592eeebab342b9ea06c28b90a5e3f1", "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "46f2cd0a022c7fb344095e1795b5927b");
I$("383b84ad6591c1c6ff65dd17691709ae", function (e, t, i, n, s) {
    t.__removeIFrameKeepHistory = function (t) {
        e._$remove(t)
    };
    return t
}, "d73a726efb8534e8d72defb6cd280a1c");
I$("d238de12ace928bf97421ccbe8e9cb75", function (e, t, i, n, s, r, a) {
    if ("trident" === i._$KERNEL.engine && i._$KERNEL.release <= "2.0") I$(21, function () {
        e.__removeIFrameKeepHistory = function (e) {
            t._$setStyle(e, "display", "none");
            try {
                e.contentWindow.document.body.innerHTML = "&nbsp;"
            } catch (i) {
            }
        }
    });
    return e
}, "383b84ad6591c1c6ff65dd17691709ae", "d73a726efb8534e8d72defb6cd280a1c", "605054bf841321ed40d652370c40f4e5");
I$("a00dc89e5cd5e29d69bf24804b7260be", function (e, t, i, n, s, r, a, o) {
    var c;
    s._$$LoaderHtml = t._$klass();
    c = s._$$LoaderHtml._$extend(e._$$LoaderAbstract);
    c.__getRequest = function () {
        var e = i._$create("iframe");
        e.width = 0;
        e.height = 0;
        e.style.display = "none";
        return e
    };
    c.__doRequest = function (e) {
        try {
            document.body.appendChild(e);
            e.src = this.__url
        } catch (t) {
            console.log(e);
            console.error(t)
        }
    };
    c.__onError = function (e) {
        var t = (this.__getLoadData(this.__url) || r).request;
        this.__doCallback("onerror", e);
        n.__removeIFrameKeepHistory(t)
    };
    c.__onLoaded = function () {
        var e = null, t = (this.__getLoadData(this.__url) || r).request;
        try {
            if (t.src != this.__url) return;
            e = t.contentWindow.document.body
        } catch (i) {
        }
        this.__doCallback("onload", e);
        n.__removeIFrameKeepHistory(t)
    };
    return s
}, "24592eeebab342b9ea06c28b90a5e3f1", "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "d238de12ace928bf97421ccbe8e9cb75");
I$("bc39e074d56520e7927c7266fed24a8d", function (e, t, i, n, s, r, a) {
    var o;
    n._$$LoaderStyle = t._$klass();
    o = n._$$LoaderStyle._$extend(e._$$LoaderAbstract);
    o.__getRequest = function () {
        return i._$create("link")
    };
    o.__doRequest = function (e) {
        e.href = this.__url;
        document.head.appendChild(e)
    };
    return n
}, "24592eeebab342b9ea06c28b90a5e3f1", "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c");
I$("81bd84a220d8bdd69b7113dbdf701570", function (e, t, i, n, s, r, a) {
    var o;
    n._$$LoaderScript = t._$klass();
    o = n._$$LoaderScript._$extend(e._$$LoaderAbstract);
    o.__reset = function (e) {
        this.__super(e);
        this.__async = e.async;
        this.__charset = e.charset;
        this.__qopt.async = !1;
        this.__qopt.charset = this.__charset
    };
    o.__getRequest = function () {
        var e = i._$create("script");
        if (null != this.__async) e.async = !!this.__async;
        if (null != this.__charset) e.charset = this.__charset;
        return e
    };
    o.__doClearRequest = function (e) {
        i._$remove(e)
    };
    return n
}, "24592eeebab342b9ea06c28b90a5e3f1", "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c");
I$("419e22071a5d3ce004fe13f2fce18022", function (e, t, i, n, s, r, a, o, c) {
    r._$loadScript = function (e, t) {
        s._$$LoaderScript._$allocate(t)._$load(e)
    };
    r._$queueScript = function (e, t) {
        s._$$LoaderScript._$allocate(t)._$queue(e)
    };
    r._$loadStyle = function (e, t) {
        n._$$LoaderStyle._$allocate(t)._$load(e);
    };
    r._$queueStyle = function (e, t) {
        n._$$LoaderStyle._$allocate(t)._$queue(e)
    };
    r._$loadHtml = function (e, t) {
        i._$$LoaderHtml._$allocate(t)._$load(e)
    };
    r._$loadText = function (e, i) {
        t._$$LoaderText._$allocate(i)._$load(e)
    };
    if (!0) e.copy(e.P("nej.j"), r);
    return r
}, "eddda1e8e7971753192ee8d61ef1680e", "ea1e78d361775ea972a9cc89496e3492", "a00dc89e5cd5e29d69bf24804b7260be", "bc39e074d56520e7927c7266fed24a8d", "81bd84a220d8bdd69b7113dbdf701570");
I$("b07a20e1d9be763162954dd0fcf2feb3", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l) {
    var u = {}, p = "ntp-" + +new Date + "-";
    d.tpl = function () {
        return u
    };
    d._$parseTemplate = function () {
        var e = 0;
        var _ = function () {
            if (!(e > 0)) {
                e = 0;
                i._$dispatchEvent(document, "templateready");
                i._$clearEvent(document, "templateready")
            }
        };
        var h = function (e, i) {
            var s = n._$dataset(e, "src");
            if (s) {
                i = i || f;
                var r = i.root;
                if (!r) r = e.ownerDocument.location.href; else r = t._$absolute(r);
                s = s.split(",");
                t._$forEach(s, function (e, i, n) {
                    n[i] = t._$absolute(e, r)
                });
                return s
            }
        };
        var l = function (e) {
            if (s._$is("mac") && "safari" === s._$KERNEL.browser) return t._$unescape(e.innerHTML); else return e.value || e.innerText || ""
        };
        var u = function (e, t) {
            if (e) {
                var i = h(e, t);
                if (i) o._$queueStyle(i, {version: n._$dataset(e, "version")});
                n._$addStyle(e.value)
            }
        };
        var p = function (t) {
            e--;
            n._$addScript(t);
            _()
        };
        var m = function (t, i) {
            if (t) {
                var s = h(t, i), r = t.value;
                if (!s) n._$addScript(r); else {
                    e++;
                    var i = {version: n._$dataset(t, "version"), onload: p._$bind(null, r)};
                    window.setTimeout(o._$queueScript._$bind(o, s, i), 0)
                }
            }
        };
        var v = function (t) {
            e--;
            d._$parseTemplate(t);
            _()
        };
        var g = function (t, i) {
            if (t) {
                var s = h(t, i)[0];
                if (s) {
                    e++;
                    var i = {version: n._$dataset(t, "version"), onload: v};
                    window.setTimeout(o._$loadHtml._$bind(o, s, i), 0)
                }
            }
        };
        var b = function (t, i) {
            e--;
            d._$addTextTemplate(t, i || "");
            _()
        };
        var $ = function (t, i) {
            if (t && t.id) {
                var s = t.id, r = h(t, i)[0];
                if (r) {
                    e++;
                    var a = r + (r.indexOf("?") < 0 ? "?" : "&") + (n._$dataset(t, "version") || ""),
                        i = {type: "text", method: "GET", onload: b._$bind(null, s)};
                    window.setTimeout(c._$request._$bind(c, a, i), 0)
                }
            }
        };
        var N = function (e, t) {
            var i = e.name.toLowerCase();
            switch (i) {
                case"jst":
                    r._$addTemplate(l(e), e.id);
                    return;
                case"txt":
                    d._$addTextTemplate(e.id, l(e));
                    return;
                case"ntp":
                    d._$addNodeTemplate(l(e), e.id);
                    return;
                case"js":
                    m(e, t);
                    return;
                case"css":
                    u(e, t);
                    return;
                case"html":
                    g(e, t);
                    return;
                case"res":
                    $(e, t);
                    return
            }
        };
        a._$$CustomEvent._$allocate({element: document, event: "templateready", oneventadd: _});
        return function (e, i) {
            e = n._$get(e);
            if (e) {
                var s = "TEXTAREA" == e.tagName ? [e] : t._$object2array(e.getElementsByTagName("textarea"));
                t._$forEach(s, function (e) {
                    N(e, i)
                });
                n._$remove(e, !0)
            }
            _()
        }
    }();
    d._$addTextTemplate = function (e, t) {
        if (null != u[e] && typeof u[e] == typeof t) {
            console.warn("text template overwrited with key " + e);
            console.debug("old template content: " + u[e].replace(/\n/g, " "));
            console.debug("new template content: " + t.replace(/\n/g, " "))
        }
        u[e] = t || ""
    };
    d._$getTextTemplate = function (e) {
        return u[e] || ""
    };
    d._$addNodeTemplate = function (e, i) {
        i = i || t._$uniqueID();
        e = n._$get(e) || e;
        d._$addTextTemplate(p + i, e);
        if (!t._$isString(e)) n._$removeByEC(e);
        return i
    };
    d._$getNodeTemplate = function (e) {
        if (!e) return null;
        e = p + e;
        var i = d._$getTextTemplate(e);
        if (!i) return null;
        var s;
        if (t._$isString(i)) {
            i = n._$html2node(i);
            var r = i.getElementsByTagName("textarea");
            if (!("TEXTAREA" == i.tagName || r && r.length)) d._$addTextTemplate(e, i); else s = i
        }
        if (!s) s = i.cloneNode(!0);
        n._$removeByEC(s);
        return s
    };
    d._$getItemTemplate = function () {
        var e = function (e, t) {
            return "offset" == t || "limit" == t
        };
        return function (i, n, s) {
            var r = [];
            if (!i || !i.length || !n) return r;
            s = s || f;
            var a = i.length, o = parseInt(s.offset) || 0, c = Math.min(a, o + (parseInt(s.limit) || a)),
                _ = {total: i.length, range: [o, c]};
            t._$merge(_, s, e);
            for (var d = o, h; d < c; d++) {
                _.index = d;
                _.data = i[d];
                h = n._$allocate(_);
                var l = h._$getId();
                u[l] = h;
                h._$recycle = h._$recycle._$aop(function (e, t) {
                    delete u[e];
                    delete t._$recycle
                }._$bind(null, l, h));
                r.push(h)
            }
            return r
        }
    }();
    d._$getItemById = function (e) {
        return u[e]
    };
    d._$parseUITemplate = function () {
        var e = /#<(.+?)>/g;
        return function (i, s) {
            s = s || {};
            i = (i || "").replace(e, function (e, i) {
                var n = s[i];
                if (!n) {
                    n = "tpl-" + t._$uniqueID();
                    s[i] = n
                }
                return n
            });
            d._$parseTemplate(n._$html2node(i));
            return s
        }
    }();
    _._$merge({_$parseTemplate: d._$parseTemplate, _$addNodeTemplate: d._$addNodeTemplate});
    if (!0) e.copy(e.P("nej.e"), d);
    return d
}, "eddda1e8e7971753192ee8d61ef1680e", "0ce1cf574f7be23168d864b3fb81d053", "a0c610891b37112b33fc6ca301b06e01", "d73a726efb8534e8d72defb6cd280a1c", "605054bf841321ed40d652370c40f4e5", "83c67d5b20eeffc1f687e113ae22189f", "c284025e8eed55f31bcaf74be9c01fa8", "419e22071a5d3ce004fe13f2fce18022", "46f2cd0a022c7fb344095e1795b5927b", "4ff36f93915f61da99a05f35c5dcc945");
I$("2340de615bb0be83782615b5be9a7ef8", function (e, t, i, n) {
    var s = {
        404: "网络异常，请刷新页面重试",
        "-1": "网络不好，请刷新页面重试",
        "-2": "网络不好，请刷新页面重试",
        0: "网络不好，请刷新页面重试",
        401: "操作超时，请刷新页面重试",
        40110: "帐号格式错误",
        40102: "帐号格式错误",
        407: "该帐号已注册",
        410: "超过IP限制，请稍后再试",
        433: "系统繁忙，请刷新页面重试",
        108: "请输入图片验证码",
        409: "注册尝试次数太频繁",
        500: "系统繁忙，请您稍后再试",
        503: "服务器繁忙，请稍后再试",
        504: "次数超限，请稍后再试",
        505: "次数超限，请稍后再试",
        434: "您验证错误次数过多，请稍后再试",
        435: "您验证错误次数过多，请改天再试",
        436: "您验证错误次数过多，请稍后再试",
        437: "您验证错误次数过多，请改天再试",
        active_104: "帐号不存在",
        active_106: "用户不是外部邮箱",
        active_421: "该帐号已被注册",
        CHECK_PASSWORD_LEVEL: "8-16位大小写字母，数字，符号3种以上组合密码",
        CHECK_USER_EMPTY: "请输入帐号",
        CHECK_USER_TOO_LONG: "您输入的帐号太长了",
        CHECK_URS_EMPTY: "请输入帐号",
        CHECK_URS_BAD_BEGIN: "帐号须由字母开头",
        CHECK_URS_BAD_MB: "帐号须由字母开头或11位手机号",
        CHECK_URS_BAD_END: "帐号请以字母或数字结尾",
        CHECK_URS_BAD_LENGTH: "帐号须由6-18个字符组成",
        CHECK_URS_BAD_ILLEGAL: "请用字母、数字或下划线命名",
        CHECK_PASSWORD_EMPTY: "请设置您的登录密码",
        CHECK_PASSWORD_LENGTH: "密码须由6-16个字符组成，区分大小写",
        CHECK_PASSWORD_SIMPLE: "密码过于简单，请重新设置",
        CHECK_PASSWORD_EQUAL: "密码与注册帐号不能相同",
        CHECK_PASSWORD_CHARCODE255: "密码不符合规范",
        CHECK_PASSWORD_HASEMPTY: "密码中不允许出现空格",
        CHECK_PASSWORD2_EMPTY: "请重复输入密码",
        CHECK_PASSWORD2_DIFF: "密码不一致",
        CHECK_SMS_EMPTY: "请输入正确的验证码",
        CHECK_SMS_BAD: "请输入正确的验证码",
        CHECK_CAPTCHA_EMPTY: "请输入正确的验证码",
        CHECK_CAPTCHA_BAD: "请输入正确的验证码",
        CHECK_PERSON_ID_EMPTY: "请输入您的身份证号码",
        CHECK_PERSON_NAME_EMPTY: "请输入您的姓名",
        CHECK_MOBILE_EMPTY: "请输入正确的手机号",
        CHECK_MOBILE_BAD: "请输入正确的手机号",
        EXCEPTION_INIT_COMPONENT_401: "初始化失败，参数不齐全",
        EXCEPTION_INIT_COMPONENT_433: "初始化失败，参数不匹配",
        EXCEPTION_INIT_COMPONENT_500: "系统繁忙，请您稍后再试",
        EXCEPTION_CHECK_NAME_160: '您输入的是网易靓号，请<a target="_blank" href="https://haoma.163.com/?from=zj">前往选购</a>',
        EXCEPTION_CHECK_NAME_106: "该帐号不可注册",
        EXCEPTION_CHECK_NAME_401: "操作超时，请刷新页面重试",
        EXCEPTION_CHECK_NAME_433: "系统繁忙，请刷新页面重试",
        EXCEPTION_CHECK_NAME_407: "该帐号已注册",
        EXCEPTION_CHECK_NAME_409: "注册尝试次数太频繁",
        EXCEPTION_CHECK_NAME_410: "超过IP限制，请稍后再试",
        EXCEPTION_CHECK_NAME_422: "该帐号已被冻结",
        EXCEPTION_CHECK_NAME_500: "系统繁忙，请您稍后再试",
        EXCEPTION_CHECK_NAME_504: "次数超限，请稍后再试",
        EXCEPTION_CHECK_NAME_505: "次数超限，请稍后再试",
        EXCEPTION_GET_TICKET_160: '您输入的是网易靓号，请<a target="_blank" href="https://haoma.163.com/?from=zj">前往选购</a>',
        EXCEPTION_GET_TICKET_106: "该帐号不可注册",
        EXCEPTION_GET_TICKET_108: "请输入图片验证码",
        EXCEPTION_GET_TICKET_401: "操作超时，请刷新页面重试",
        EXCEPTION_GET_TICKET_433: "系统繁忙，请刷新页面重试",
        EXCEPTION_GET_TICKET_424: "请求错误，请您稍后再试",
        EXCEPTION_GET_TICKET_407: "该帐号已注册",
        EXCEPTION_GET_TICKET_409: "注册尝试次数太频繁",
        EXCEPTION_GET_TICKET_410: "超过IP限制，请稍后再试",
        EXCEPTION_GET_TICKET_422: "该帐号已被冻结",
        EXCEPTION_GET_TICKET_500: "系统繁忙，请您稍后再试",
        EXCEPTION_GET_TICKET_503: "服务器繁忙，请稍后再试",
        EXCEPTION_GET_TICKET_504: "次数超限，请稍后再试",
        EXCEPTION_FAST_REG_160: '您输入的是网易靓号，请<a target="_blank" href="https://haoma.163.com/?from=zj">前往选购</a>',
        EXCEPTION_FAST_REG_107: "请输入正确的验证码",
        EXCEPTION_FAST_REG_106: "该帐号不可注册",
        EXCEPTION_FAST_REG_401: "操作超时，请刷新页面重试",
        EXCEPTION_FAST_REG_433: "系统繁忙，请刷新页面重试",
        EXCEPTION_FAST_REG_402: "当前网络异常，请检查您的网络环境",
        EXCEPTION_FAST_REG_407: "该帐号已注册",
        EXCEPTION_FAST_REG_409: "注册尝试次数太频繁",
        EXCEPTION_FAST_REG_410: "超过IP限制，请稍后再试",
        EXCEPTION_FAST_REG_422: "该帐号已被冻结",
        EXCEPTION_FAST_REG_412: "验证码错误次数过多，请改天再试",
        EXCEPTION_FAST_REG_413: "请输入正确的验证码",
        EXCEPTION_FAST_REG_500: "系统繁忙，请您稍后再试",
        EXCEPTION_FAST_REG_503: "服务器繁忙，请稍后再试",
        EXCEPTION_FAST_REG_504: "次数超限，请稍后再试",
        EXCEPTION_FAST_REG_406: "该号码可能存在安全风险，请更换手机号",
        EXCEPTION_REG_MOB_160: '您输入的是网易靓号，请<a target="_blank" href="https://haoma.163.com/?from=zj">前往选购</a>',
        EXCEPTION_REG_MOB_401: "操作超时，请刷新页面重试",
        EXCEPTION_REG_MOB_106: "该帐号不可注册",
        EXCEPTION_REG_MOB_433: "系统繁忙，请刷新页面重试",
        EXCEPTION_REG_MOB_402: "当前网络异常，请检查您的网络环境",
        EXCEPTION_REG_MOB_407: "该帐号已注册",
        EXCEPTION_REG_MOB_409: "注册尝试次数太频繁",
        EXCEPTION_REG_MOB_410: "超过IP限制，请稍后再试",
        EXCEPTION_REG_MOB_422: "该帐号已被冻结",
        EXCEPTION_REG_MOB_412: "验证码错误次数过多，请改天再试",
        EXCEPTION_REG_MOB_413: "请输入正确的验证码",
        EXCEPTION_REG_MOB_421: "该手机号已被注册",
        EXCEPTION_REG_MOB_423: "该手机号是保留帐号",
        EXCEPTION_REG_MOB_500: "系统繁忙，请您稍后再试",
        EXCEPTION_REG_MOB_107: "请输入正确的验证码",
        EXCEPTION_REG_MOB_108: "请输入图片验证码",
        EXCEPTION_REG_MOB_406: "该号码可能存在安全风险，请更换手机号",
        EXCEPTION_GET_SMS_107: "请输入正确的验证码",
        EXCEPTION_GET_SMS_108: "请输入图片验证码",
        EXCEPTION_GET_SMS_401: "操作超时，请刷新页面重试",
        EXCEPTION_GET_SMS_284: "请更换手机号再试",
        EXCEPTION_GET_SMS_242: "该手机号码绑定帐号数达到上限，请更换手机号再试",
        EXCEPTION_GET_SMS_433: "系统繁忙，请刷新页面重试",
        EXCEPTION_GET_SMS_410: "超过IP限制，请稍后再试",
        EXCEPTION_GET_SMS_412: "下发验证码超过了次数限制，请改天再试",
        EXCEPTION_GET_SMS_413: "请输入正确的验证码",
        EXCEPTION_GET_SMS_421: "该手机号已被注册",
        EXCEPTION_GET_SMS_423: "该手机号是保留帐号",
        EXCEPTION_GET_SMS_500: "系统繁忙，请您稍后再试",
        EXCEPTION_GET_SMS_415: "获取短信过于频繁，请稍后再试",
        EXCEPTION_GET_SMS_416: "获取短信过于频繁，请重新验证",
        EXCEPTION_GET_SMS_406: "该号码可能存在安全风险，请更换手机号",
        EXCEPTION_SEND_MAIL_104: "帐号不存在。",
        EXCEPTION_SEND_MAIL_106: "用户不是外部邮箱。",
        EXCEPTION_SEND_MAIL_401: "操作超时，请刷新页面重试。",
        EXCEPTION_SEND_MAIL_410: "超过IP限制，请稍后再试",
        EXCEPTION_SEND_MAIL_421: "帐号已被注册。",
        EXCEPTION_SEND_MAIL_500: "系统繁忙，请您稍后再试。",
        EXCEPTION_SEND_MAIL_503: "服务器维护中，请稍后再试",
        EXCEPTION_SEND_MAIL_504: "重发邮件次数超过限制",
        MODAL_MAIL_SUCCESS_TITLE: "激活邮件已再次发送！",
        MODAL_MAIL_SUCCESS_TEXT: "请查看您的邮箱。",
        MODAL_MAIL_SUCCESS_BUTTON: "立即查看邮件",
        MODAL_MAIL_ERROR_TITLE: "出错了"
    };
    return s
});
I$("5b4d28fde6c5928be8e3c7014b09da77", function () {
    var e = {
        501: "系统繁忙，请您稍后再试",
        500: "系统繁忙，请您稍后再试",
        "-1": "网络不好，请刷新页面重试",
        "-2": "网络不好，请刷新页面重试",
        404: "网络异常，请刷新页面重试",
        401: "操作超时，请刷新页面重试",
        433: "系统繁忙，请刷新页面重试",
        "-101": "已重新发送激活邮件",
        "-102": "发送邮件失败，请稍后再试",
        "-103": "正在加载AA资源，请稍后重试",
        "-104": "您的网络不好，请刷新重试"
    };
    return e
});
I$("0d434f17f93250948578c8948f9f01bf", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l) {
    var u = {
        haomaEmail: /^[\w-\.]{1,18}@(126\.com|163\.com)$/i,
        eleven: /^1\d{10}$/,
        mobile: /^(13|14|15|16|17|18|19)\d{9}$/,
        netease: /^[a-zA-Z]([a-zA-Z]|\d|_){4,16}([a-zA-Z]|\d)$/
    };
    var p, m = {
        "qq.com": "1",
        "sina.com": "1",
        "foxmail.com": "1",
        "sohu.com": "1",
        "vip.qq.com": "1",
        "live.com": "1",
        "139.com": "1",
        "tom.com": "1",
        "icloud.com": "1",
        "aliyun.com": "1",
        "edu.tw": "1"
    }, v = {qq: "1", renren: "2", weibo: "3", weixin: "13", yixin: "8"};
    var g = function (e) {
        var t = document.body.scrollWidth, i = document.body.clientHeight,
            n = {width: t, height: i, type: e || "resize"};
        if (t * i > 0) {
            n["URS-CM"] = 1;
            d._$postMessage("_parent", {data: n})
        }
    };
    d._$resize = g;
    d._$getHttpError = function (e) {
        e = e.toString();
        var t = "请求错误，请您稍后再试", i = 0;
        if (0 === e.indexOf("5")) t = "服务器内部错误，请您稍后再试"; else if (0 === e.indexOf("4")) t = "请求错误，请您稍后再试";
        if ("400" == e || "0" == e) {
            t = '请求错误，请尝试<a target="_blank" href="https://hc.reg.163.com/webcomponent/guide.html">清理cookie</a>后重试';
            i = 2
        }
        return {s: t, t: i}
    };
    var b = function (e, t) {
        this._hasFocus = 0;
        t = t && t.trim();
        if (!this._hasFocus) {
            e.tabIndex = "0";
            e.title = t;
            e.focus()
        }
    };
    var $ = function (e, n, r, a, o) {
        r = t._$get(r);
        if ('您输入的是网易靓号，请<a target="_blank" href="https://haoma.163.com/?from=zj">前往选购</a>' === n) a = 2;
        if (1 != window._$needCookieSet || n.indexOf("开启浏览器cookies") != -1) {
            a = a || "";
            if (n && 3 == window._$URSOPT.version && "popup" == window._$URSOPT.mode) if (n == window._$capTxt1 || n == window._$capTxt2) return;
            var c = t._$get("cnt-box-parent");
            var _ = e && d._$getParent(e, "inputbox");
            if (_) t._$addClassName(_, "error-color");
            var f = s._$get("error-tmp", {str: n || "", type: a});
            if (3 == a) f = f.replace("ferrorhead3", "ferrorhead2").replace("ferrortail3", "ferrortail2 ferrortail3");
            r.innerHTML = f;
            r.className = "m-nerror";
            if (0 === e) t._$dataset(r, "from", "0"); else if (100 === e) t._$dataset(r, "from", "100"); else if (e) {
                t._$dataset(r, "from", e.name);
                t._$addClassName(r, "err_" + e.name)
            } else t._$dataset(r, "from", "null");
            if (window._$errClickHide) {
                i._$clearEvent(r);
                var h = "touchend";
                if (nej.p._$IS.desktop) h = "mouseup";
                i._$addEvent(r, h, function () {
                    t._$addClassName(r, "f-dn");
                    t._$delClassName(c, "haserr");
                    g()
                })
            }
            t._$addClassName(c, "haserr");
            if (window._$readErrHelper) try {
                var l = r.outerText;
                b.call(this, r, l)
            } catch (u) {
            }
            if (o && o.icon) {
                var p = t._$getChildren(r)[0];
                p.setAttribute("style", "background:url(" + o.icon + ") 0px 0px no-repeat !important")
            }
            g()
        }
    };
    d._$isBadNetease = function (e) {
        return !u.netease.test(e)
    };
    d._$isNeteaseEmail = function (e) {
        return "163.com" === e || "126.com" === e || "yeah.net" === e || "vip.163.com" == e || "vip.126.com" == e || "188.com" == e || "vip.188.com" == e
    };
    d._$checkMobile = function (e) {
        return u.mobile.test(e)
    };
    d._$getParent = function (e, i) {
        e = t._$get(e);
        if (!e) return null;
        e = e.parentElement || e.parentNode;
        for (; e != document.body;) {
            if (!e) return null;
            if (t._$hasClassName(e, i)) break; else e = e.parentElement || e.parentNode
        }
        return e
    };
    d._$showError = function (e, t, i, n, s) {
        $(e, t, i, n, s)
    };
    d._$showError2 = function (e, n, r, a) {
        var o = t._$get("cnt-box-parent");
        var c = e && d._$getParent(e, "inputbox");
        if (c) t._$addClassName(c, "error-color");
        if (0 === a) {
            r = t._$get(r);
            r.innerHTML = s._$get("error-tmp", {str: n || ""});
            r.className = "m-nerror";
            if (e) {
                t._$dataset(r, "from", e.name);
                t._$addClassName(r, "err_" + e.name)
            } else t._$dataset(r, "from", "null")
        }
        i._$addEvent(r, "click", function () {
            if (e) try {
                e.focus()
            } catch (i) {
            } else {
                t._$addClassName(r, "f-dn");
                g()
            }
        });
        t._$addClassName(o, "haserr");
        g()
    };
    d._$removeError = function (e, i) {
        var n = t._$get("cnt-box-parent");
        var s = t._$dataset(i, "from");
        var r = e.name;
        var a = e && d._$getParent(e, "inputbox");
        if (a) t._$delClassName(a, "error-color");
        if (s == r || "null" == s) {
            i = t._$get(i);
            t._$addClassName(i, "f-dn");
            if (0 != s) t._$delClassName(n, "haserr");
            if ("email" == r) t._$delClassName(i, "err_email"); else if ("password" == r) t._$delClassName(i, "err_password"); else if ("checkcode" == r) t._$delClassName(i, "err_checkcode"); else if ("phone" == r) t._$delClassName(i, "err_phone"); else if ("phonecode" == r) t._$delClassName(i, "err_phonecode")
        }
        g()
    };
    d._$removeError2 = function () {
        var e = t._$get("nerror"), i = t._$dataset(e, "from");
        if (100 == i) t._$addClassName(e, "f-dn");
        g()
    };
    d._$removeError3 = function () {
        var e = t._$get("nerror");
        t._$addClassName(e, "f-dn")
    };
    d._$showFail = function (e, i) {
        var n = t._$get("cnt-box-parent");
        if ("601" != e) {
            p = clearTimeout(p);
            t._$remove("failbox", !0);
            var s = parseInt(r._$KERNEL.version, 10);
            var a = "trident" == r._$KERNEL.engine && s < 10 ? "boxtop" : "";
            var o, _ = 500 == e ? "fail0 " : "fail1 ",
                f = t._$create("div", _ + a, t._$getByClassName(document, "g-bd")[0]);
            o = c[e] || d._$getErrorTxt(e);
            if ("-103" == e) o = o.replace("AA", i);
            f.id = "failbox";
            f.innerHTML = '<div class="box">' + o + "</div>";
            t._$addClassName(n, "haserr");
            if (window._$readErrHelper) try {
                var h = f.outerText;
                b.call(this, f, h)
            } catch (l) {
            }
            p = setTimeout(function () {
                t._$delClassName(n, "haserr");
                t._$remove("failbox", !0);
                g()
            }, 5e3);
            g()
        }
    };
    d._$showFail2 = function (e) {
        var i = t._$get("cnt-box-parent");
        p = clearTimeout(p);
        t._$remove("failbox", !0);
        var n = parseInt(r._$KERNEL.version, 10);
        var s = "trident" == r._$KERNEL.engine && n < 10 ? "boxtop" : "";
        var a = "fail1 ", o = t._$create("div", a + s, t._$getByClassName(document, "g-bd")[0]);
        o.id = "failbox";
        o.innerHTML = '<div class="box">' + e + "</div>";
        t._$addClassName(i, "haserr");
        if (window._$readErrHelper) try {
            var c = o.outerText;
            b.call(this, o, c)
        } catch (_) {
        }
        p = setTimeout(function () {
            t._$delClassName(i, "haserr");
            t._$remove("failbox", !0);
            g()
        }, 5e3);
        g()
    };
    d._$hideFail = function () {
        t._$remove("failbox", !0)
    };
    d._$supportCss3 = function (e) {
        var t = ["webkit", "Moz", "ms", "o"], i, n = [], s = document.documentElement.style, r = function (e) {
            return e.replace(/-(\w)/g, function (e, t) {
                return t.toUpperCase()
            })
        };
        for (i in t) n.push(r(t[i] + "-" + e));
        n.push(r(e));
        for (i in n) if (n[i] in s) return !0;
        return !1
    };
    d._$getCommonEmail = function (e) {
        var t = e.split("@")[1];
        return m[t] ? "//mail." + e.substr(e.indexOf("@") + 1) : ""
    };
    d.__hackPush = function () {
        return 0
    };
    d._$loadGaq = function () {
        _gaq = window["_gaq"] || [];
        if (!window.wdaId) _gaq.push = d.__hackPush
    };
    d._$timeCount = function (e) {
        if (!window.timecount) window.timecount = [];
        window.timecount[e] = (new Date).getTime()
    };
    d._$timeCountEnd = function (e) {
        if (!window.timecount) return 0;
        if (!window.timecount[e]) return 0;
        var t = (new Date).getTime() - window.timecount[e];
        window.timecount[e] = 0;
        return t
    };
    d._$requestJsonp = function (e, t, i, n) {
        var s = (new Date).getTime();
        var r = "jsonp" + s;
        window["qrcb"] = [];
        window["qrcb"][r] = i;
        var a = "";
        t.rtid = d._$getRtid();
        for (var o in t) a += "&" + o + "=" + t[o];
        a = a.slice(1);
        var c = e + "?" + a + "&callback=qrcb." + r;
        var _ = document.getElementById("mp-script-" + r);
        if (!_) {
            _ = document.createElement("script");
            _.type = "text/javascript";
            _.id = "mp-script-" + r;
            _.src = c;
            document.getElementsByTagName("head")[0].appendChild(_)
        }
        if (!n) document.getElementsByTagName("head")[0].appendChild(_)
    };
    d._$postMessage = function (e, t) {
        t.data["MGID"] = window.mgid;
        a._$postMessage(e, t)
    };
    d._$validateSecIdCard = function (e) {
        var t = 0;
        var i = e;
        var n = {
            11: "北京",
            12: "天津",
            13: "河北",
            14: "山西",
            15: "内蒙",
            21: "辽宁",
            22: "吉林",
            23: "黑龙",
            31: "上海",
            32: "江苏",
            33: "浙江",
            34: "安徽",
            35: "福建",
            36: "江西",
            37: "山东",
            41: "河南",
            42: "湖北",
            43: "湖南",
            44: "广东",
            45: "广西",
            46: "海南",
            50: "重庆",
            51: "四川",
            52: "贵州",
            53: "云南",
            54: "西藏",
            61: "陕西",
            62: "甘肃",
            63: "青海",
            64: "宁夏",
            65: "新疆",
            71: "台湾",
            81: "香港",
            82: "澳门",
            91: "国外"
        };
        if (!/^\d{17}(\d|x)$/i.test(i)) return !1;
        i = i.replace(/x$/i, "a");
        if (null === n[parseInt(i.substr(0, 2))]) return !1;
        var s = i.substr(6, 4) + "-" + Number(i.substr(10, 2)) + "-" + Number(i.substr(12, 2));
        var r = new Date(s.replace(/-/g, "/"));
        if (s != r.getFullYear() + "-" + (r.getMonth() + 1) + "-" + r.getDate()) return !1;
        for (var a = 17; a >= 0; a--) t += Math.pow(2, a) % 11 * parseInt(i.charAt(17 - a), 11);
        if (t % 11 != 1) return !1; else return !0
    };
    d._$parseOauth = function () {
        var e = window.URSCONFIG.oauthLoginConfig || !1;
        if (!e) return e;
        var t = location.protocol + "//reg.163.com/outerLogin/oauth2/connect.do?product=" + window.URSCONFIG.product;
        n._$forEach(e, function (e) {
            if (!e.url) if ("alipay" == e.name) {
                t = t.replace("/outerLogin/oauth2/connect.do", "/outerLogin/oauth2/aliPayFastLogin.do");
                e.url = t
            } else e.url = t + "&target=" + v[e.name];
            var i, s = location.host;
            s = s.indexOf("webzj") > -1 ? s : s + "/webzj";
            i = location.protocol + "//" + s + "/webapp/res/statichtml/third.html";
            var r = {url: i, url2: i};
            if (e.backurl) {
                r = {url: i + "?backurl=" + e.backurl, url2: i + "?backurl=" + e.backurl};
                if ("alipay" == e.name) r = {
                    redirect_error: i + "?backurl=" + e.backurl,
                    redirect_url: i + "?backurl=" + e.backurl
                }
            } else if ("alipay" == e.name) r = {redirect_error: i, redirect_url: i};
            if (0 == e.url.indexOf("//")) e.url = location.protocol + e.url;
            e.url += "&" + n._$object2query(r)
        });
        return e
    };
    d._$doThirdLogin = function (e) {
        var n = i._$getElement(e), s = t._$dataset(n, "link"), r = t._$dataset(n, "width"),
            a = t._$dataset(n, "height");
        if (s) {
            var o = r || 514;
            var c = a || 764;
            var _ = (window.screen.availHeight - 30 - o) / 2;
            var f = (window.screen.availWidth - 10 - c) / 2;
            if (d._$notURL(s)) s = "";
            if (window.URSCONFIG.openSelf) {
                i._$stop(e);
                location.href = s
            } else window.open(s, "thirdLogin", "height=" + o + ",width=" + c + ",top=" + _ + ",left=" + f + ",toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no")
        }
    };
    d._$checkPwd = function () {
        var e = {word_l: /[a-z]+/, word_u: /[A-Z]+/, number: /[0-9]+/, sign: /[^a-zA-Z0-9]+/};
        var t = function (t) {
            var i = 0, n;
            if (e.word_l.test(t)) i++;
            if (e.word_u.test(t)) i++;
            if (e.number.test(t)) i++;
            if (e.sign.test(t)) i++;
            if (i < 3) n = o.CHECK_PASSWORD_LEVEL;
            return n
        };
        var i = function (e) {
            var t = e.charAt(0), i = !0;
            for (var n = 1, s = e.length; n < s; n++) if (t !== e.charAt(n)) {
                i = !1;
                break
            }
            return i
        };
        var n = function (e) {
            var t = ["123456", "123456789", "12345678", "123123", "5201314", "1234567", "7758521", "654321", "1314520", "123321", "1234567890", "147258369", "123654", "5211314", "woaini", "1230123", "987654321", "147258", "123123123", "7758258", "520520", "789456", "456789", "159357", "112233", "1314521", "456123", "110110", "521521", "zxcvbnm", "789456123", "0123456789", "0123456", "123465", "159753", "qwertyuiop", "987654", "115415", "1234560", "123000", "123789", "100200", "963852741", "121212", "111222", "123654789", "12301230", "456456", "741852963", "asdasd", "asdfghjkl", "369258", "863786", "258369", "8718693", "666888", "5845201314", "741852", "168168", "iloveyou", "852963", "4655321", "102030", "147852369", "321321"];
            var i = !1;
            for (var n = 0, s = t.length; n < s; n++) if (t[n] === e) {
                i = !0;
                break
            }
            return i
        };
        var s = function (e, t) {
            var i = t.substr(0, t.indexOf("@")) || t;
            return e === i || e === t
        };
        var r = function (e) {
            return /[^\x21-\x7E]/g.test(e)
        };
        return function (e, a, c) {
            var _ = e.length, d;
            if (c) {
                if (_ < 8 || _ > 16) d = o.CHECK_PASSWORD_LEVEL; else d = t(e);
                if (d) return d
            }
            if (_ < 6 || _ > 16) d = o.CHECK_PASSWORD_LENGTH; else if (i(e) || n(e) || /^\d{1,9}$/.test(e)) d = o.CHECK_PASSWORD_SIMPLE; else if (s(e, a)) d = o.CHECK_PASSWORD_EQUAL; else if (r(e)) d = o.CHECK_PASSWORD_CHARCODE255;
            return d
        }
    }();
    d.__sendClose = function () {
        var e = {type: "close"};
        e["URS-CM"] = 1;
        d._$postMessage("_parent", {data: e})
    };
    d._$getErrorTxt = function (e) {
        if (!e) return "检测出非法请求，为了您的帐号安全，请您稍后再试。";
        e = e.toString();
        if (e.indexOf("601") > -1) return d._$setOutLogin();
        var t;
        if (e.indexOf("451") > -1) {
            if (nej.p._$IS.desktop) t = "https://mob.163.com/web/passwdfind   "; else t = "https://aq.reg.163.com/ydaq/welcome?module=offlinePasswordFind ";
            return '该手机帐号未设置密码，<a target="_blank" href="' + t + '">前往设置</a>'
        }
        if (e.indexOf("502") > -1) return "系统异常，请稍后再试";
        if (e.indexOf("433") > -1) return "系统繁忙，请刷新页面重试";
        if (0 === e.indexOf("5")) return "服务器内部错误，请您稍后再试"; else if (0 === e.indexOf("4")) return "请求错误，请您稍后再试"; else return "请求错误，请您稍后再试"
    };
    d._$setOutLogin = function () {
        var e = function (e, t, i) {
            return (i ? "?" : "&") + e + "=" + encodeURIComponent(t)
        };
        return function (t) {
            var i = window.$loginOpts.promark + +new Date;
            var n = window.$loginOpts.product || "";
            var s = window.$loginOpts.promark || "";
            var r = window.$loginOpts.mbNeedItl || "";
            var a = window.$loginOpts.domains || "";
            var o = window.$loginOpts.cookieDomain || "";
            var c = window.$loginOpts.prdomain || "";
            var _ = window.$loginOpts.needMobileLogin || "";
            var d = window.$loginOpts.mobileFirst || "";
            var f = window.$loginOpts.noqr || "";
            var h = window.$loginOpts.smsLoginFirst || "";
            var l = window.$loginOpts.toolName || "";
            var u = window.$loginOpts.toolUrl || "";
            var p = window.$loginOpts.needQrLogin || "";
            var m = location.protocol;
            var v = "";
            if (window.$loginOpts.uniteLogin) v = JSON.stringify(window.$loginOpts.uniteLogin);
            var g = location.host;
            g = g.indexOf("webzj") > -1 ? g : g + "/webzj";
            var b = m + "//" + g + "/safelogin.html" + e("loginKey", i, 1) + e("domains", a) + e("prdomain", c) + e("cookieDomain", o) + e("needMobileLogin", _) + e("mobileFirst", d) + e("noqr", f) + e("smsLoginFirst", h) + e("toolName", l) + e("toolUrl", u) + e("needQrLogin", p) + e("promark", s) + e("product", n) + e("mbNeedItl", r) + e("uniteLogin", v);
            var N = '<strong class="msg"><span style="color:#000;">当前登录存在风险，</span><a style="color:red;font-size:14px;text-decoration:underline;font-weight:bolder;" target="_blank" href=' + b + ">点此进行安全登录</a></strong>";
            if (t) $(0, N, "nerror");
            return N
        }
    }();
    d._$addPathB = function (e) {
        if (window._$pathB) e = e.replace(/:\/\/(?:[^\/]+)/, function (e) {
            return e + "/b"
        });
        return e
    };
    d._$3pSuccess = function (e) {
        e["URS-CM"] = 1;
        e["type"] = "otherRegSuccess";
        d._$postMessage("_parent", {data: e})
    };
    d._$configLog = function (e) {
        var t = document.createElement("img"), i = encodeURIComponent(window._$TOPURL || ""), s = {};
        var r = {
            needanimation: 1,
            nocover: 1,
            errMode: 1,
            needUrsBgp: 1,
            passportNeedUrsBgp: 1,
            loadTime: 1,
            bgpTime: 1,
            bgpTime2: 1,
            pathB: 1,
            preFilledMail: 1,
            preFilledMobile: 1,
            preFilledMobileReg: 1,
            preFillUnite: 1,
            frameSize: 1,
            placeholders: 1,
            placeholder: 1,
            mobilePlaceholder: 1,
            regPlaceholder: 1,
            domains: 1,
            includeBox: 1,
            forgetpwdlink: 1,
            topURL: 1,
            errMsg: 1,
            from: 1,
            mailreghooklink: 1,
            regUrl: 1,
            host: 1,
            toolName: 1,
            mbagree1: 1,
            mbagree2: 1,
            hintTxt: 1,
            regDomainSuffixs: 1,
            domainSuffixs: 1,
            iframeShowAnimation: 1,
            oauthLoginConfig: 1,
            terms: 1,
            otherThirdLink: 1,
            bid: 1,
            eventType: 1,
            lockConfig: 1,
            style: 1,
            coverBackground: 1,
            mblink1: 1,
            mblink2: 1,
            regDomains: 1
        };
        n._$forIn(e, function (e, t) {
            if ("swidth" == t) try {
                e = parseInt(e);
                e = Math.abs(e)
            } catch (i) {
                e = 0
            }
            if ("style" == t) s["style"] = 1;
            if (!r[t]) s[t] = e
        });
        s = JSON.stringify(s);
        s = encodeURIComponent(s);
        t.src = "//webzj.reg.163.com/UA1435545636633/__utm.gif?configlog=1&from=" + i + "&config=" + s
    };
    d._$sendLog = function (e) {
        var i = t._$create("img", "", document.body);
        i.style.position = "absolute";
        i.style.width = "0px";
        i.style.height = "0px";
        i.src = e;
        setTimeout(function () {
            t._$remove(i)
        }, 1e4)
    };
    d._$sendLog2 = function (e) {
        for (var t = 0, i; t < e.length; t++) {
            i = e[t];
            d._$sendLog(i)
        }
    };
    d._$HtmlEncode = function (e) {
        function t(e) {
            var t = !0;
            var n = e.charCodeAt(0);
            switch (n) {
                case 10:
                    return "<br/>";
                case 32:
                    return "&nbsp;";
                case 34:
                    return "&quot;";
                case 38:
                    return "&amp;";
                case 39:
                    return "&#x27;";
                case 47:
                    return "&#x2F;";
                case 60:
                    return "&lt;";
                case 62:
                    return "&gt;";
                case 198:
                    return "&AElig;";
                case 193:
                    return "&Aacute;";
                case 194:
                    return "&Acirc;";
                case 192:
                    return "&Agrave;";
                case 197:
                    return "&Aring;";
                case 195:
                    return "&Atilde;";
                case 196:
                    return "&Auml;";
                case 199:
                    return "&Ccedil;";
                case 208:
                    return "&ETH;";
                case 201:
                    return "&Eacute;";
                case 202:
                    return "&Ecirc;";
                case 200:
                    return "&Egrave;";
                case 203:
                    return "&Euml;";
                case 205:
                    return "&Iacute;";
                case 206:
                    return "&Icirc;";
                case 204:
                    return "&Igrave;";
                case 207:
                    return "&Iuml;";
                case 209:
                    return "&Ntilde;";
                case 211:
                    return "&Oacute;";
                case 212:
                    return "&Ocirc;";
                case 210:
                    return "&Ograve;";
                case 216:
                    return "&Oslash;";
                case 213:
                    return "&Otilde;";
                case 214:
                    return "&Ouml;";
                case 222:
                    return "&THORN;";
                case 218:
                    return "&Uacute;";
                case 219:
                    return "&Ucirc;";
                case 217:
                    return "&Ugrave;";
                case 220:
                    return "&Uuml;";
                case 221:
                    return "&Yacute;";
                case 225:
                    return "&aacute;";
                case 226:
                    return "&acirc;";
                case 230:
                    return "&aelig;";
                case 224:
                    return "&agrave;";
                case 229:
                    return "&aring;";
                case 227:
                    return "&atilde;";
                case 228:
                    return "&auml;";
                case 231:
                    return "&ccedil;";
                case 233:
                    return "&eacute;";
                case 234:
                    return "&ecirc;";
                case 232:
                    return "&egrave;";
                case 240:
                    return "&eth;";
                case 235:
                    return "&euml;";
                case 237:
                    return "&iacute;";
                case 238:
                    return "&icirc;";
                case 236:
                    return "&igrave;";
                case 239:
                    return "&iuml;";
                case 241:
                    return "&ntilde;";
                case 243:
                    return "&oacute;";
                case 244:
                    return "&ocirc;";
                case 242:
                    return "&ograve;";
                case 248:
                    return "&oslash;";
                case 245:
                    return "&otilde;";
                case 246:
                    return "&ouml;";
                case 223:
                    return "&szlig;";
                case 254:
                    return "&thorn;";
                case 250:
                    return "&uacute;";
                case 251:
                    return "&ucirc;";
                case 249:
                    return "&ugrave;";
                case 252:
                    return "&uuml;";
                case 253:
                    return "&yacute;";
                case 255:
                    return "&yuml;";
                case 162:
                    return "&cent;";
                case"\r":
                    break;
                default:
                    t = !1
            }
            if (!t) if (n > 127) {
                var s = n;
                var r = s % 16;
                s = Math.floor(s / 16);
                var a = s % 16;
                s = Math.floor(s / 16);
                var o = s % 16;
                s = Math.floor(s / 16);
                var c = s % 16;
                return "&#x" + i[c] + i[o] + i[a] + i[r] + ";"
            } else return e
        }

        var i = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
        var n = e;
        var s = "";
        for (var r = 0; r < n.length; r++) {
            var a = n.charAt(r);
            s += t(a)
        }
        return s
    };
    d._$notURL = function (e) {
        return !/^http[s]?:/i.test(e) && !/^\/\//.test(e)
    };
    d._$isEleven = function (e) {
        return u.eleven.test(e)
    };
    d._$isHaomaEmail = function (e) {
        return u.haomaEmail.test(e)
    };
    d._$formatUn = function (e) {
        return e && e.split("@")[0]
    };
    d._$doProxyLink = function (e) {
        var t, n = i._$getElement(e) || "";
        if (window.URSCONFIG.openSelf) if ("_blank" == n.target) if ("A" == n.tagName.toUpperCase()) {
            t = n.href;
            if (!d._$notURL(t)) {
                i._$stop(e);
                location.href = t
            }
        }
    };
    d._$getDlapp = function () {
        return '<span style="color:#000;">使用</span><a target="_blank" href="https://id.163.com/gj/?from=webzj_cw">网易帐号管家</a>，<span style="color:#000;">全面保护您的帐号！</span>'
    };
    d._$emailFilter = function (e) {
        e = e || "";
        return e.replace(/[\u202d|\u202c]/g, "")
    };
    d._$getRtid = function () {
        return window._$RTID
    };
    d._$createUtid = function () {
        var e = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", t = 32, i = [];
        for (; t-- > 0;) i[t] = e.charAt(Math.random() * e.length);
        return i.join("")
    };
    d._$getUtid = function (e, t) {
        var i;
        if (e) _req = MpRequest2; else _req = MpRequest;
        _req.getCookie("utid", function (e) {
            i = e || "null";
            t(i)
        })
    };
    d._$addUtid = function () {
        var e = function () {
            var e = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", t = 32, i = [];
            for (; t-- > 0;) i[t] = e.charAt(Math.random() * e.length);
            return i.join("")
        };
        return function () {
            var t = _._$cookie("utid");
            if (!t) {
                t = e();
                _._$cookie("utid", {value: t, expires: 1 / 24, path: "/"})
            }
            return t
        }
    }();
    d._$get401Error = function (e) {
        e = e || "登录";
        return "无法" + e + '，请<a style="color:#4aafe9;" target="_blank" href="https://hc.reg.163.com/webcomponent/doc2.html?pkid=' + window._$PKID + "&pd=" + window._$PRODUCT + "&time=" + (new Date).getTime() + "_" + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9].sort(function () {
            return Math.random() > .5 ? 1 : -1
        }).join("") + "&from=" + encodeURIComponent(window._$TOPURL) + '">开启浏览器cookies</a>或更换浏览器后刷新重试'
    };
    return d
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "83c67d5b20eeffc1f687e113ae22189f", "605054bf841321ed40d652370c40f4e5", "4e3477f1faad0e644cf31bd4765e12dc", "2340de615bb0be83782615b5be9a7ef8", "5b4d28fde6c5928be8e3c7014b09da77", "f4dec1b84700c9cc21c1a3746102e1f6");
I$("f59622494117d493fd7b72727e0ebc59", function (e, t, i, n, s, r, a, o, c, _) {
    var d = "dl.reg.163.com", f = "zc.reg.163.com";
    var h = {
        "/l": {
            name: "/l",
            201: {ret: "201", message: "登录成功"},
            401: {ret: "401", message: "参数错误"},
            402: {ret: "402", message: "指纹错误"},
            423: {ret: "423", message: "风控帐号"}
        },
        "/lpwd": {name: "/lpwd", 201: {ret: "201", message: "登录成功"}},
        "/lvfsms": {name: "/lvfsms", 201: {ret: "201", message: "登录成功"}}
    };
    a._$request = function () {
        var e = function (e, t) {
            if (h[e]) {
                var i = {data: {}};
                var n = t.ret || -1;
                i.data["URS-CM"] = 1;
                i.data["URS-CM-STATE"] = h[e][n] || {ret: -1};
                if (t.unprotectedGuide) h[e][n].unprotectedGuide = 1;
                i.data["URS-CM-STATENAME"] = h[e].name;
                r._$postMessage("_parent", i)
            }
        };
        return function (t, i, n, s, a) {
            var o = d;
            var c = f;
            var _;
            if (window["$cookieDomain"]) if (window["$cookieDomain"].indexOf("icourse163.org") >= 0) o = "reg." + window["$cookieDomain"] + "/dl"; else o = "passport." + window["$cookieDomain"] + "/dl";
            if (window["$regCookieDomain"]) if (window["$regCookieDomain"].indexOf("icourse163.org") >= 0) c = "reg." + window["$regCookieDomain"] + "/zc"; else c = "passport." + window["$regCookieDomain"] + "/zc";
            if (t.indexOf("mb-") > -1) {
                o += "/yd";
                c += "/yd"
            }
            if (a) _ = o; else _ = c;
            MP[t](i, function (t, i) {
                e(t, i);
                n(i)
            }, function (t, i) {
                e(t, i);
                if ("601" == i.ret) r._$setOutLogin(1);
                s(i)
            }, _)
        }
    }();
    return a
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "0ce1cf574f7be23168d864b3fb81d053", "46f2cd0a022c7fb344095e1795b5927b", "4e3477f1faad0e644cf31bd4765e12dc", "0d434f17f93250948578c8948f9f01bf");
I$("d0f8670b540d4291398b8b72707a3dc5", function (e, t, i, n, s) {
    var r = 8;
    var a = function (e, t) {
        return e << t | e >>> 32 - t
    };
    var o = function (e, t) {
        var i = (65535 & e) + (65535 & t), n = (e >> 16) + (t >> 16) + (i >> 16);
        return n << 16 | 65535 & i
    };
    var c = function (e, t, i, n) {
        if (e < 20) return t & i | ~t & n;
        if (e < 40) return t ^ i ^ n;
        if (e < 60) return t & i | t & n | i & n; else return t ^ i ^ n
    };
    var _ = function (e) {
        if (e < 20) return 1518500249;
        if (e < 40) return 1859775393;
        if (e < 60) return -1894007588; else return -899497514
    };
    var d = function () {
        var e = function (e) {
            return e % 32
        }, t = function (e) {
            return 32 - r - e % 32
        };
        return function (i, n) {
            var s = [], a = (1 << r) - 1, o = n ? e : t;
            for (var c = 0, _ = i.length * r; c < _; c += r) s[c >> 5] |= (i.charCodeAt(c / r) & a) << o(c);
            return s
        }
    }();
    var f = function () {
        var e = "0123456789abcdef", t = function (e) {
            return e % 4
        }, i = function (e) {
            return 3 - e % 4
        };
        return function (n, s) {
            var r = [], a = s ? t : i;
            for (var o = 0, c = 4 * n.length; o < c; o++) r.push(e.charAt(n[o >> 2] >> 8 * a(o) + 4 & 15) + e.charAt(n[o >> 2] >> 8 * a(o) & 15));
            return r.join("")
        }
    }();
    var h = function () {
        var e = function (e) {
            return e % 32
        }, t = function (e) {
            return 32 - r - e % 32
        };
        return function (i, n) {
            var s = [], a = (1 << r) - 1, o = n ? e : t;
            for (var c = 0, _ = 32 * i.length; c < _; c += r) s.push(String.fromCharCode(i[c >> 5] >>> o(c) & a));
            return s.join("")
        }
    }();
    var l = function () {
        var e = "=", t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", i = function (e) {
            return e % 4
        }, n = function (e) {
            return 3 - e % 4
        };
        return function (s, r) {
            var a = [], o = r ? i : n;
            for (var c = 0, _; c < 4 * s.length; c += 3) {
                _ = (s[c >> 2] >> 8 * o(c) & 255) << 16 | (s[c + 1 >> 2] >> 8 * o(c + 1) & 255) << 8 | s[c + 2 >> 2] >> 8 * o(c + 2) & 255;
                for (var d = 0; d < 4; d++) a.push(8 * c + 6 * d > 32 * s.length ? e : t.charAt(_ >> 6 * (3 - d) & 63))
            }
            return a.join("")
        }
    }();
    var u = function (e, t, i, n, s, r) {
        return o(a(o(o(t, e), o(n, r)), s), i)
    };
    var p = function (e, t, i, n, s, r, a) {
        return u(t & i | ~t & n, e, t, s, r, a)
    };
    var m = function (e, t, i, n, s, r, a) {
        return u(t & n | i & ~n, e, t, s, r, a)
    };
    var v = function (e, t, i, n, s, r, a) {
        return u(t ^ i ^ n, e, t, s, r, a)
    };
    var g = function (e, t, i, n, s, r, a) {
        return u(i ^ (t | ~n), e, t, s, r, a)
    };
    var b = function (e, t) {
        e[t >> 5] |= 128 << t % 32;
        e[(t + 64 >>> 9 << 4) + 14] = t;
        var i = 1732584193, n = -271733879, s = -1732584194, r = 271733878;
        for (var a = 0, c = e.length, _, d, f, h; a < c; a += 16) {
            _ = i;
            d = n;
            f = s;
            h = r;
            i = p(i, n, s, r, e[a + 0], 7, -680876936);
            r = p(r, i, n, s, e[a + 1], 12, -389564586);
            s = p(s, r, i, n, e[a + 2], 17, 606105819);
            n = p(n, s, r, i, e[a + 3], 22, -1044525330);
            i = p(i, n, s, r, e[a + 4], 7, -176418897);
            r = p(r, i, n, s, e[a + 5], 12, 1200080426);
            s = p(s, r, i, n, e[a + 6], 17, -1473231341);
            n = p(n, s, r, i, e[a + 7], 22, -45705983);
            i = p(i, n, s, r, e[a + 8], 7, 1770035416);
            r = p(r, i, n, s, e[a + 9], 12, -1958414417);
            s = p(s, r, i, n, e[a + 10], 17, -42063);
            n = p(n, s, r, i, e[a + 11], 22, -1990404162);
            i = p(i, n, s, r, e[a + 12], 7, 1804603682);
            r = p(r, i, n, s, e[a + 13], 12, -40341101);
            s = p(s, r, i, n, e[a + 14], 17, -1502002290);
            n = p(n, s, r, i, e[a + 15], 22, 1236535329);
            i = m(i, n, s, r, e[a + 1], 5, -165796510);
            r = m(r, i, n, s, e[a + 6], 9, -1069501632);
            s = m(s, r, i, n, e[a + 11], 14, 643717713);
            n = m(n, s, r, i, e[a + 0], 20, -373897302);
            i = m(i, n, s, r, e[a + 5], 5, -701558691);
            r = m(r, i, n, s, e[a + 10], 9, 38016083);
            s = m(s, r, i, n, e[a + 15], 14, -660478335);
            n = m(n, s, r, i, e[a + 4], 20, -405537848);
            i = m(i, n, s, r, e[a + 9], 5, 568446438);
            r = m(r, i, n, s, e[a + 14], 9, -1019803690);
            s = m(s, r, i, n, e[a + 3], 14, -187363961);
            n = m(n, s, r, i, e[a + 8], 20, 1163531501);
            i = m(i, n, s, r, e[a + 13], 5, -1444681467);
            r = m(r, i, n, s, e[a + 2], 9, -51403784);
            s = m(s, r, i, n, e[a + 7], 14, 1735328473);
            n = m(n, s, r, i, e[a + 12], 20, -1926607734);
            i = v(i, n, s, r, e[a + 5], 4, -378558);
            r = v(r, i, n, s, e[a + 8], 11, -2022574463);
            s = v(s, r, i, n, e[a + 11], 16, 1839030562);
            n = v(n, s, r, i, e[a + 14], 23, -35309556);
            i = v(i, n, s, r, e[a + 1], 4, -1530992060);
            r = v(r, i, n, s, e[a + 4], 11, 1272893353);
            s = v(s, r, i, n, e[a + 7], 16, -155497632);
            n = v(n, s, r, i, e[a + 10], 23, -1094730640);
            i = v(i, n, s, r, e[a + 13], 4, 681279174);
            r = v(r, i, n, s, e[a + 0], 11, -358537222);
            s = v(s, r, i, n, e[a + 3], 16, -722521979);
            n = v(n, s, r, i, e[a + 6], 23, 76029189);
            i = v(i, n, s, r, e[a + 9], 4, -640364487);
            r = v(r, i, n, s, e[a + 12], 11, -421815835);
            s = v(s, r, i, n, e[a + 15], 16, 530742520);
            n = v(n, s, r, i, e[a + 2], 23, -995338651);
            i = g(i, n, s, r, e[a + 0], 6, -198630844);
            r = g(r, i, n, s, e[a + 7], 10, 1126891415);
            s = g(s, r, i, n, e[a + 14], 15, -1416354905);
            n = g(n, s, r, i, e[a + 5], 21, -57434055);
            i = g(i, n, s, r, e[a + 12], 6, 1700485571);
            r = g(r, i, n, s, e[a + 3], 10, -1894986606);
            s = g(s, r, i, n, e[a + 10], 15, -1051523);
            n = g(n, s, r, i, e[a + 1], 21, -2054922799);
            i = g(i, n, s, r, e[a + 8], 6, 1873313359);
            r = g(r, i, n, s, e[a + 15], 10, -30611744);
            s = g(s, r, i, n, e[a + 6], 15, -1560198380);
            n = g(n, s, r, i, e[a + 13], 21, 1309151649);
            i = g(i, n, s, r, e[a + 4], 6, -145523070);
            r = g(r, i, n, s, e[a + 11], 10, -1120210379);
            s = g(s, r, i, n, e[a + 2], 15, 718787259);
            n = g(n, s, r, i, e[a + 9], 21, -343485551);
            i = o(i, _);
            n = o(n, d);
            s = o(s, f);
            r = o(r, h)
        }
        return [i, n, s, r]
    };
    var $ = function (e, t) {
        var i = d(e, !0);
        if (i.length > 16) i = b(i, e.length * r);
        var n = Array(16), s = Array(16);
        for (var a = 0; a < 16; a++) {
            n[a] = 909522486 ^ i[a];
            s[a] = 1549556828 ^ i[a]
        }
        var o = b(n.concat(d(t, !0)), 512 + t.length * r);
        return b(s.concat(o), 640)
    };
    var N = function (e, t) {
        e[t >> 5] |= 128 << 24 - t % 32;
        e[(t + 64 >> 9 << 4) + 15] = t;
        var i = Array(80), n = 1732584193, s = -271733879, r = -1732584194, d = 271733878, f = -1009589776;
        for (var h = 0, l = e.length, u, p, m, v, g; h < l; h += 16) {
            u = n;
            p = s;
            m = r;
            v = d;
            g = f;
            for (var b = 0; b < 80; b++) {
                i[b] = b < 16 ? e[h + b] : a(i[b - 3] ^ i[b - 8] ^ i[b - 14] ^ i[b - 16], 1);
                var $ = o(o(a(n, 5), c(b, s, r, d)), o(o(f, i[b]), _(b)));
                f = d;
                d = r;
                r = a(s, 30);
                s = n;
                n = $
            }
            n = o(n, u);
            s = o(s, p);
            r = o(r, m);
            d = o(d, v);
            f = o(f, g)
        }
        return [n, s, r, d, f]
    };
    var A = function (e, t) {
        var i = d(e);
        if (i.length > 16) i = N(i, e.length * r);
        var n = Array(16), s = Array(16);
        for (var a = 0; a < 16; a++) {
            n[a] = 909522486 ^ i[a];
            s[a] = 1549556828 ^ i[a]
        }
        var o = N(n.concat(d(t)), 512 + t.length * r);
        return N(s.concat(o), 672)
    };
    t._$hmacsha12hex = function (e, t) {
        return f(A(e, t))
    };
    t._$hmacsha12b64 = function (e, t) {
        return l(A(e, t))
    };
    t._$hmacsha12str = function (e, t) {
        return h(A(e, t))
    };
    t._$hmacmd52hex = function (e, t) {
        return f($(e, t), !0)
    };
    t._$hmacmd52b64 = function (e, t) {
        return l($(e, t), !0)
    };
    t._$hmacmd52str = function (e, t) {
        return h($(e, t), !0)
    };
    t._$sha12hex = function (e) {
        return f(N(d(e), e.length * r))
    };
    t._$sha12b64 = function (e) {
        return l(N(d(e), e.length * r))
    };
    t._$sha12str = function (e) {
        return h(N(d(e), e.length * r))
    };
    t._$md52hex = function (e) {
        return f(b(d(e, !0), e.length * r), !0)
    };
    t._$md52b64 = function (e) {
        return l(b(d(e, !0), e.length * r), !0)
    };
    t._$md52str = function (e) {
        return h(b(d(e, !0), e.length * r), !0)
    };
    t._$str2hex = function (e, t) {
        return f(d(e, !t), !t)
    };
    if (!0) e.copy(e.P("nej.u"), t);
    return t
}, "eddda1e8e7971753192ee8d61ef1680e");
I$("0cab6201db48066574ea4018f514d90d", function (e, t, i, n, s, r, a, o, c, _, d) {
    var f = 1e3 * Math.random(), h = "ntes_zc_",
        l = "-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5gsH+AA4XWONB5TDcUd+xCz7ejOFHZKlcZDx+pF1i7Gsvi1vjyJoQhRtRSn950x498VUkx7rUxg1/ScBVfrRxQOZ8xFBye3pjAzfb22+RCuYApSVpJ3OO3KsEuKExftz9oFBv3ejxPlYc5yq7YiBO8XlTnQN0Sa4R4qhPO3I2MQIDAQAB-----END PUBLIC KEY-----";
    var u = {
        "/l": {
            name: "/l",
            201: {ret: "201", message: "登录成功"},
            401: {ret: "401", message: "参数错误"},
            402: {ret: "402", message: "指纹错误"},
            423: {ret: "423", message: "风控帐号"}
        },
        "/lpwd": {name: "/lpwd", 201: {ret: "201", message: "登录成功"}},
        "/lvfsms": {name: "/lvfsms", 201: {ret: "201", message: "登录成功"}}
    };
    var p = location.protocol + "//";
    o._$init = function () {
        window.MP = {
            setTicket: function (e) {
                window.MP.TICKET = e || ""
            }, promarkIdData: {}, encrypt: function (e, t) {
                var i = RSA.getPublicKey(l);
                return RSA.encrypt(e + "`" + t, i)
            }, encrypt2: function (e) {
                var t = RSA.getPublicKey(l);
                return RSA.encrypt(e, t)
            }, getCookieId: function (e, t) {
                var i = r._$cookie(e);
                t(i)
            }, getId: function (e, t) {
                var i = r._$cookie(h + e);
                t(i)
            }, getCaptcha: function (e) {
                return this.getCaptcha(e)
            }._$bind(this), getCaptchaLogin: function (e, t) {
                return this.getCaptchaLogin(e, t)
            }._$bind(this), "mb-ncp": function (e) {
                return this["mb-ncp"](e)
            }._$bind(this), "mb-reg-cp": function (e) {
                return this["mb-reg-cp"](e)
            }._$bind(this), "mb-cp": function (e, t) {
                return this["mb-cp"](e, t)
            }._$bind(this)
        }
    };
    o._$request = function () {
        var e = function (e, t) {
            var i;
            var n = location.host + "/dl";
            var s = location.host + "/zc";
            if (e.indexOf("mb-") > -1) {
                n += "/yd";
                s += "/yd"
            }
            i = t ? n : s;
            return i
        };
        return function (t, i, n, s, r) {
            if (!this.__run) {
                this._$init();
                this.__run = 1
            }
            var a = e(t, r);
            this.__createDataAndSend(t, i, a, n, s)
        }
    }();
    o._addRtid = function (e) {
        s._$addUtid();
        var t = "&";
        if (e.indexOf("?") == -1) {
            e += "?";
            t = ""
        }
        e = e + t + "rtid=" + window._$RTID;
        return e
    };
    o._addTopURL = function (e) {
        var t = "&";
        if (e.indexOf("?") == -1) {
            e += "?";
            t = ""
        }
        e = e + t + "topURL=" + encodeURIComponent(window._$TOPURL);
        return e
    };
    o._addPathB = function (e) {
        if (window._$pathB) e = e.replace(/:\/\/(?:[^\/]+)/, function (e) {
            return e + "/b"
        });
        return e
    };
    o._addOpdAndOpkid = function (e) {
        if (!window._$URSOPT.opd && !window._$URSOPT.opkid) return e;
        var t = "&";
        if (e.indexOf("?") == -1) {
            e += "?";
            t = ""
        }
        if (window._$URSOPT.opd) e = e + t + "opd=" + window._$URSOPT.opd;
        if (window._$URSOPT.opkid) e = e + "&opkid=" + window._$URSOPT.opkid;
        return e
    };
    o._getHost = function (e) {
        var t = location.host + e;
        return t
    };
    o._addParams = function (e) {
        e = this._addPathB(e);
        e = this._addOpdAndOpkid(e);
        e = this._addRtid(e);
        e = this._addTopURL(e);
        return e
    };
    o.getCaptcha = function (e) {
        if (!e) return "";
        var t = this._getHost("/zc");
        var i = p + t + "/cp?channel=2&id=" + e + "&nocache=" + (new Date).getTime();
        i = this._addRtid(i);
        i = this._addTopURL(i);
        return i
    };
    o.getCaptchaLogin = function (e, t) {
        var i = this._getHost("/dl");
        var n = p + i + "/cp?pd=" + e + "&pkid=" + t + "&random=" + (new Date).getTime();
        n = this._addParams(n);
        return n
    };
    o["mb-cp"] = function (e, t) {
        var i = this._getHost("/dl");
        var n = p + i + "/yd/cp?pd=" + e + "&pkid=" + t + "&random=" + (new Date).getTime();
        n = this._addParams(n);
        return n
    };
    o["mb-reg-cp"] = function (e) {
        var t = this._getHost("/zc");
        var i = p + t + "/yd/cp?channel=2&id=" + e + "&nocache=" + (new Date).getTime();
        i = this._addRtid(i);
        i = this._addTopURL(i);
        return i
    };
    o["mb-ncp"] = function (e) {
        var t = this._getHost("/dl");
        var i = p + t + "/yd/ncp?pd=" + e.product + "&pkid=" + e.pkid + "&pkht=" + e.pkht + "&channel=" + e.channel + "&random=" + (new Date).getTime();
        i = this._addParams(i);
        return i
    };
    o.__parseApi = function () {
        var e = {
            regvftcp: {path: "/vftcp", type: "GET", isLogin: 0},
            regvfccp: {path: "/vfccp", type: "GET", isLogin: 0},
            init: {path: "/ini", type: "GET", isLogin: 0, isInit: 1},
            checkCaptcha: {path: "/vfcp", type: "POST", contentType: "application/x-www-form-urlencoded", isLogin: 0},
            checkName: {path: "/chn", type: "GET", isLogin: 0},
            getMobileSms: {path: "/sm", type: "GET", isLogin: 0},
            getMailSms: {path: "/mlrgsm", type: "GET", isLogin: 0},
            getTicket: {path: "/gt", type: "POST", contentType: "application/json", isLogin: 0},
            regMob: {path: "/mrg", type: "POST", contentType: "application/json", isLogin: 0},
            fastReg: {path: "/frg", type: "POST", contentType: "application/json", isLogin: 0},
            sendActMail: {path: "/sendActMail", type: "GET", isLogin: 0},
            qrlogin: {path: "/qrcodel", type: "GET", isLogin: 1},
            safelogin: {path: "/l", type: "POST", isLogin: 1},
            llp: {path: "/llp", type: "POST", contentType: "application/x-www-form-urlencoded", isLogin: 1},
            sendSmsLogin: {path: "/sm", type: "GET", isLogin: 1},
            initComponentLogin: {path: "/ini", type: "GET", isLogin: 1, isInit: 1},
            checkSmsCode: {path: "/vfcp", type: "POST", contentType: "application/x-www-form-urlencoded", isLogin: 1},
            vfsms: {path: "/vfsms", type: "POST", contentType: "application/x-www-form-urlencoded", isLogin: 1},
            getLoginTicket: {path: "/gt", type: "GET", isLogin: 1},
            vftcp: {path: "/vftcp", type: "GET", isLogin: 1},
            vfccp: {path: "/vfccp", type: "GET", isLogin: 1},
            getPP: {path: "/pp", type: "GET", isLogin: 1},
            vfppc: {path: "/vfppc", type: "POST", contentType: "application/x-www-form-urlencoded", isLogin: 1},
            vfotp: {path: "/vfotp", type: "POST", contentType: "application/x-www-form-urlencoded", isLogin: 1},
            mbsm: {path: "/mbsm", type: "GET", isLogin: 1},
            vfmbsms: {path: "/vfmbsms", type: "POST", contentType: "application/x-www-form-urlencoded", isLogin: 1},
            goonlog: {path: "/go", type: "GET", isLogin: 1},
            "mb-qrlogin": {path: "/qrcodel", type: "GET", isLogin: 1},
            "mb-login": {path: "/lpwd", type: "POST", isLogin: 1},
            "mb-gt": {path: "/gt", type: "GET", isLogin: 1},
            "mb-ini": {path: "/ini", type: "GET", isLogin: 1, isInit: 1},
            "mb-vfcp": {
                path: "/vfcp", type: "POST", contentType: "application/x-www-form-urlencoded",
                isLogin: 1
            },
            "mb-lvfsms": {path: "/lvfsms", type: "POST", isLogin: 1},
            "mb-vftcp": {path: "/vftcp", type: "GET", isLogin: 1},
            "mb-vfccp": {path: "/vfccp", type: "GET", isLogin: 1},
            "mb-sms-lsm": {path: "/lsm", type: "GET", isLogin: 1},
            "mb-reg-ini": {path: "/ini", type: "GET", isLogin: 0, isInit: 1},
            "mb-reg-chn": {path: "/chn", type: "GET", isLogin: 0},
            "mb-reg-sm": {path: "/sm", type: "GET", isLogin: 0},
            "mb-reg-vfsms": {path: "/vfsms", type: "POST", isLogin: 0},
            "mb-nini": {path: "/nini", type: "GET", isLogin: 1, isInit: 1},
            "mb-nlregssms": {path: "/nlregssms", type: "GET", isLogin: 1},
            "mb-nlgt": {path: "/nlgt", type: "GET", isLogin: 1},
            "mb-nlregvfsms": {path: "/nlregvfsms", type: "POST", isLogin: 1},
            "mb-nvfcp": {path: "/nvfcp", type: "POST", contentType: "application/x-www-form-urlencoded", isLogin: 1},
            "mb-nvftcp": {path: "/nvftcp", type: "GET", isLogin: 1},
            "mb-nvfccp": {path: "/nvfccp", type: "GET", isLogin: 1}
        };
        return function (t) {
            return e[t] || {}
        }
    }();
    o.__createDataAndSend = function () {
        var e = function (e) {
            try {
                e.topURL = window._$TOPURL
            } catch (t) {

            }
        };
        return function (t, i, n, s, r) {
            var a = this.__parseApi(t);
            n += a.path;
            var o = a.isLogin;
            var c = a.isInit || "";
            if ("string" == typeof i) i = JSON.parse(i);
            e(i);
            var _ = a.contentType || "application/json";
            if (!o) n = p + n; else {
                n = p + n;
                if (o) {
                    if (window._$URSOPT.opd) i.opd = window._$URSOPT.opd;
                    if (window._$URSOPT.opkid) i.opkid = window._$URSOPT.opkid;
                    n = this._addPathB(n)
                }
            }
            var d = {isInit: c, url: n, type: a.type, data: i, contentType: _, isLogin: o, onerror: r, onload: s};
            this.__doSend(d, a.path)
        }
    }();
    o.__doSend = function () {
        var e = function () {
            var e = ["device_name", "user_agent", "language", "color_depth", "pixel_ratio", "hardware_concurrency", "computer_screen", "browser_window_size", "timezone_offset", "regular_plugins", "js_fonts", "webgl_vendor", "touch_support", "canvas", "webgl", "HTTP_ACCEPT_Headers"];
            var t = ["dn", "ua", "la", "cd", "pr", "hc", "cs", "bws", "tzo", "plg", "jsf", "wv", "ts", "ca", "wgl", "hah"];
            var i = function (e) {
                var t, i;
                if (e && e.di) {
                    t = JSON.parse(e.di);
                    if (t.plg) {
                        i = t.plg;
                        for (var n = 0, s = i.length, r; n < s; n++) {
                            r = i[n];
                            r = r.split(":")[0];
                            i[n] = r
                        }
                    }
                    t.plg = i;
                    e.di = JSON.stringify(t)
                }
                return e
            };
            var n = function (e) {
                e.src = "WEBZJ";
                e.time = (new Date).getTime();
                var t = "//fl.reg.163.com/urs/__utm.gif?";
                var n = [];
                e = i(e);
                for (var r in e) n.push(encodeURIComponent(r) + "=" + encodeURIComponent(e[r]));
                t += n.join("&");
                s._$sendLog(t)
            };
            var r = function (e, t) {
                var i = {};
                var s = {page: 2};
                i.di = JSON.stringify(s);
                i.utid = e;
                i.rtid = t;
                n(i)
            };
            var o = function (i, s) {
                try {
                    var o = new Fingerprint2;
                    o.get(function (r, c) {
                        var _ = {}, d = {}, f = {}, h, l = [];
                        _["fp"] = r || "";
                        for (var u = 0, p; u < c.length; u++) {
                            p = c[u];
                            d[p.key] = p.value
                        }
                        for (var m = 0, v, g, b = e.length; m < b; m++) {
                            v = e[m];
                            g = t[m];
                            _[g] = d[v] || ""
                        }
                        h = _["jsf"];
                        l = [];
                        for (var $ = 0, N; $ < h.length; $++) {
                            N = h[$];
                            var A = N.substring(0, 1);
                            l.push(A)
                        }
                        h = l.join("");
                        _["jsf"] = h.length + "-" + a._$sha12b64(h);
                        _["ca"] = o.x64hash128(_["ca"]);
                        _["wgl"] = o.x64hash128(_["wgl"]);
                        _.page = 1;
                        _ = JSON.stringify(_);
                        f.di = _;
                        f.utid = i;
                        f.rtid = s;
                        n(f)
                    })
                } catch (c) {
                    r(i, s)
                }
            };
            return function (e, t) {
                o(e, t)
            }
        }();
        var t = function () {
            var e = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", t = 32, i = [];
            for (; t-- > 0;) i[t] = e.charAt(Math.random() * e.length);
            return i.join("")
        };
        var o = function (e, t) {
            try {
                var i, n = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 24, 25, 20400, 20500];
                var r = "https://pr.nss.netease.com/sentry/passive?uapi=" + encodeURIComponent(e);
                if (f <= 1) {
                    i = c(t);
                    r = r + "&dataTime=" + (new Date).getTime() + "&clusterName=urs-webzj-static-passive&modelName=webzj_response_time2&one=1";
                    for (var a = 0, o = n.length, _; a < o; a++) {
                        _ = n[a];
                        if (_ == i) r = r + "&step" + _ + "=1"; else r = r + "&step" + _ + "=0"
                    }
                    s._$sendLog(r)
                }
            } catch (d) {
            }
        };
        var c = function (e) {
            var t = 1;
            if (e > 2e4) if (20400 == e || 20500 == e) t = e; else if (e.toString().indexOf("4") > -1) t = 24; else if (e.toString().indexOf("5") > -1) t = 25; else t = 10; else if (e > 1e4) t = 9; else if (e > 2e3) t = 8; else if (e > 1e3) t = 7; else if (e > 500) t = 6; else if (e > 200) t = 5; else if (e > 90) t = 4; else if (e > 60) t = 3; else if (e > 30) t = 2;
            return t
        };
        return function (a, c) {
            a = a || {};
            var _ = s._$addUtid();
            if (a.isInit) {
                window._$RTID = t();
                e(_, window._$RTID);
                setTimeout(function () {
                    r._$cookie("webzjcookiecheck", {value: 1, expires: -1, path: "/"});
                    r._$cookie("webzjcookiecheck", {value: 1, expires: 1 / 24, path: "/"});
                    if (r._$cookie("webzjcookiecheck")) ; else a.onerror({ret: "-401"})
                }, 200)
            }
            if (a.data) a.data.rtid = window._$RTID;
            var d = a.type.toUpperCase();
            var f = {};
            f["Content-Type"] = a.contentType;
            var h = a.timeout || 1e4;
            var l = a.url.indexOf("/yd/") >= 0 ? "yd-" + c : c;
            l = l.replace(/\//g, "");
            l = (a.isLogin ? "dl-" : "zc-") + l;
            var u = (new Date).getTime();
            if ("POST" == d) if ("application/x-www-form-urlencoded" == a.contentType) a.data = i._$object2query(a.data); else a.data = JSON.stringify(a.data);
            if ("GET" == d) a.data.nocache = u;
            n._$request(a.url, {
                type: "json",
                method: d,
                data: a.data,
                headers: f,
                timeout: h,
                onload: function (e, t, i, n, s) {
                    var r = s && s.ret;
                    var a = (new Date).getTime() - e;
                    o(t, a);
                    if (i.isLogin) if ("201" != r) this.__onerror(n, i, s); else this.__onsuccess(n, i, s); else if ("102" === r || "104" === r || "200" === r || "201" === r || "202" === r) this.__onsuccess(n, i, s); else this.__onerror(n, i, s)
                }._$bind(this, u, l, a, c),
                onerror: function (e, t, i, n, s) {
                    if (s && s.data) s.ret = s.data; else s.ret = "-1";
                    var r = (new Date).getTime() - e;
                    o(t, r);
                    this.__onerror(n, i, s)
                }._$bind(this, u, l, a, c)
            })
        }
    }();
    o.__sendParentData = function (e, t) {
        if (u[e]) {
            var i = {data: {}};
            var n = t.ret || -1;
            i.data["URS-CM"] = 1;
            i.data["URS-CM-STATE"] = u[e][n] || {ret: -1};
            if (t.unprotectedGuide) u[e][n].unprotectedGuide = 1;
            i.data["URS-CM-STATENAME"] = u[e].name;
            s._$postMessage("_parent", i)
        }
    };
    o.__onerror = function (e, t, i) {
        this.__sendParentData(e, i);
        if ("601" == i.ret) s._$setOutLogin(1);
        t.onerror(i)
    };
    o.__onsuccess = function (e, t, i) {
        this.__sendParentData(e, i);
        t.onload(i)
    };
    return o
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "0ce1cf574f7be23168d864b3fb81d053", "46f2cd0a022c7fb344095e1795b5927b", "0d434f17f93250948578c8948f9f01bf", "f4dec1b84700c9cc21c1a3746102e1f6", "d0f8670b540d4291398b8b72707a3dc5");
I$("4dadb2ee6ba889b538cf0977b4b3cad0", function (e, t, i, n, s, r, a, o, c, _, d, f) {
    c._$request = function (e, t, i, n, s) {
        var r = location.protocol + "//";
        var c = window.REGPROTOCOL === window.PROTOCOL && r === window.PROTOCOL;
        if (c && 3 == window._$URSOPT.version && window._$URSOPT.from3Cdn) o._$request(e, t, i, n, s); else a._$request(e, t, i, n, s)
    };
    return c
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "0ce1cf574f7be23168d864b3fb81d053", "46f2cd0a022c7fb344095e1795b5927b", "4e3477f1faad0e644cf31bd4765e12dc", "0d434f17f93250948578c8948f9f01bf", "f59622494117d493fd7b72727e0ebc59", "0cab6201db48066574ea4018f514d90d");
I$("df9d93a61ae210b34038e92b4416342a", function (e, t, i, n, s, r, a, o, c, _) {
    var d;
    a._$$Abstract = t._$klass();
    d = a._$$Abstract._$extend(s._$$EventTarget);
    d.__init = function () {
        this.__super();
        i._$dumpCSSText();
        this.__initXGui();
        this.__initNode()
    };
    d.__reset = function (e) {
        this.__super(e);
        this.__doInitClass(e.clazz);
        this._$appendTo(e.parent)
    };
    d.__destroy = function () {
        this.__super();
        this.__doDelParentClass();
        delete this.__parent;
        i._$removeByEC(this.__body);
        i._$delClassName(this.__body, this.__class);
        delete this.__class
    };
    d.__initXGui = c;
    d.__initNode = function () {
        if (!this.__seed_html) this.__initNodeTemplate();
        this.__body = r._$getNodeTemplate(this.__seed_html);
        if (!this.__body) this.__body = i._$create("div", this.__seed_css);
        i._$addClassName(this.__body, this.__seed_css)
    };
    d.__initNodeTemplate = c;
    d.__doInitClass = function (e) {
        this.__class = e || "";
        i._$addClassName(this.__body, this.__class)
    };
    d.__doAddParentClass = function () {
        if (this.__seed_css) {
            var e = this.__seed_css.split(/\s+/);
            i._$addClassName(this.__parent, e.pop() + "-parent")
        }
    };
    d.__doDelParentClass = function () {
        if (this.__seed_css) {
            var e = this.__seed_css.split(/\s+/);
            i._$delClassName(this.__parent, e.pop() + "-parent")
        }
    };
    d._$getBody = function () {
        return this.__body
    };
    d._$appendTo = function (e) {
        if (this.__body) {
            this.__doDelParentClass();
            if (n._$isFunction(e)) this.__parent = e(this.__body); else {
                this.__parent = i._$get(e);
                if (this.__parent) this.__parent.appendChild(this.__body)
            }
            this.__doAddParentClass()
        }
    };
    d._$show = function () {
        if (this.__parent && this.__body && this.__body.parentNode != this.__parent) this.__parent.appendChild(this.__body)
    };
    d._$hide = function () {
        i._$removeByEC(this.__body)
    };
    if (!0) e.copy(e.P("nej.ui"), a);
    return a
}, "eddda1e8e7971753192ee8d61ef1680e", "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "0ce1cf574f7be23168d864b3fb81d053", "b75e70b49b58692524630910fc7d379f", "b07a20e1d9be763162954dd0fcf2feb3");
I$("24009e123f5588d3e0d561f49177981a", function (e, t, i, n) {
    var s = {
        404: "网络异常，请刷新页面重试",
        "-1": "网络不好，请刷新页面重试",
        "-2": "网络不好，请刷新页面重试",
        0: "网络不好，请刷新页面重试",
        161: "该帐号不是网易靓号，此处仅支持网易靓号登录",
        401: "操作超时，请刷新页面重试",
        40110: "帐号格式错误",
        405: "本次登录存在异常，请刷新重试或更换浏览器",
        402: "当前网络异常，请检查您的网络环境",
        403: "网络异常，建议切换网络或稍后重试",
        410: "超过IP限制，请稍后再试",
        433: "系统繁忙，请刷新页面重试",
        441: "请输入图片验证码",
        411: "IP一分钟内登录不存在的用户达到限制，5分钟后再试",
        413: "帐号或密码错误",
        "412-01": "您登录错误次数过多，请稍后再试",
        "412-02": "您登录错误次数过多，请明天再试",
        "413-01": "您登录错误密码次数过多，请稍后再试",
        "413-02": "您登录错误密码次数过多，请明天再试",
        "413-03": "您的IP登录错误密码次数过多，请稍后再试",
        "414-01": "您的IP登录错误次数过多，请稍后再试",
        "414-02": "您的IP登录错误次数过多，请明天再试",
        416: "您的IP登录过于频繁,请稍后再试",
        "417-01": "您的IP登录成功次数过多，请稍后再试",
        "417-02": "您的IP登录成功次数过多，请明天再试",
        "418-01": "您登录成功次数过多,请稍后再试",
        "418-02": "您登录成功次数过多,请明天再试",
        "419-01": "您登录过于频繁,请稍后再试",
        "419-02": "您的IP登录过于频繁,请稍后再试",
        422: '该帐号已被锁定，请前往<a target="_blank" href="https://mima.163.com/nie/ts_repair_index.do" style="color:#4aafe9;text-decoration:underline;">帐号修复中心</a>进行解锁',
        420: "帐号不存在",
        424: '该靓号服务已到期，<a target="_blank" href="//haoma.163.com/pay/pay.do?ayRenew=1">点击续费</a>，更多精彩',
        425: '该帐号尚未激活，请到已注册的邮箱<a target="_blank" href="#">激活帐号</a>',
        426: "该帐号未及时激活，请重新注册",
        442: "请输入正确的验证码",
        443: "请输入正确的短信验证码",
        409: "您登录过于频繁,请稍后再试",
        500: "系统繁忙，请您稍后再试",
        503: "服务器繁忙，请稍后再试",
        505: "次数超限，请稍后再试",
        602: '邮箱服务已到期，<a target="_blank" href="//vpay.vip.163.com/vippayunion/index.html" style="color:#4aafe9;text-decoration:underline;">点击续费</a>，更多精彩',
        431: "请求错误，请您稍后再试",
        434: "您验证错误次数过多，请稍后再试",
        435: "您验证错误次数过多，请改天再试",
        436: "您验证错误次数过多，请稍后再试",
        437: "您验证错误次数过多，请改天再试",
        430: "此次登录不需要进行密保验证",
        453: "帐号未关联手机号",
        454: "帐号关联手机未验证"
    };
    return s
});*/
!function (e, t) {
    "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : "object" == typeof exports ? exports.Regular = t() : e.Regular = t()
}(this, function () {
    return function (e) {
        function t(n) {
            if (i[n]) return i[n].exports;
            var s = i[n] = {exports: {}, id: n, loaded: !1};
            return e[n].call(s.exports, s, s.exports, t), s.loaded = !0, s.exports
        }

        var i = {};
        return t.m = e, t.c = i, t.p = "", t(0)
    }([function (e, t, i) {
        var n = i(1), s = i(2), r = e.exports = i(3), a = r.Parser, o = r.Lexer;
        n.browser && (i(6), i(7), i(8), r.dom = i(4)), r.env = n, r.util = i(5), r.parse = function (e, t) {
            t = t || {}, (t.BEGIN || t.END) && (t.BEGIN && (s.BEGIN = t.BEGIN), t.END && (s.END = t.END), o.setup());
            var i = new a(e).parse();
            return t.stringify ? JSON.stringify(i) : i
        }
    }, function (e, t, i) {
        var n = i(5);
        t.svg = function () {
            return "undefined" != typeof document && document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1")
        }(), t.browser = "undefined" != typeof document && document.nodeType, t.exprCache = n.cache(1e3), t.isRunning = !1
    }, function (e) {
        e.exports = {BEGIN: "{", END: "}"}
    }, function (e, t, i) {
        var n = i(1), s = i(11), r = i(12), a = i(2), o = i(5), c = i(13), _ = {};
        if (n.browser) {
            var d = i(4), f = i(9), h = i(10), l = d.doc;
            _ = i(14)
        }
        var u = i(15), p = i(16), m = i(17), v = i(18), g = function (e, t) {
            var i = n.isRunning;
            n.isRunning = !0;
            var s, a;
            e = e || {}, t = t || {}, e.data = e.data || {}, e.computed = e.computed || {}, e.events = e.events || {}, this.data && o.extend(e.data, this.data), this.computed && o.extend(e.computed, this.computed), this.events && o.extend(e.events, this.events), o.extend(this, e, !0), this.$parent && this.$parent._append(this), this._children = [], this.$refs = {}, a = this.template, "string" == typeof a && a.length < 16 && (s = d.find(a)) && (a = s.innerHTML), a && a.nodeType && (a = a.innerHTML), "string" == typeof a && (this.template = new r(a).parse()), this.computed = b(this.computed), this.$root = this.$root || this, this.events && this.$on(this.events), this.$emit("$config"), this.config && this.config(this.data);
            var c = this._body;
            this._body = null, c && c.ast && c.ast.length && (this.$body = o.getCompileFn(c.ast, c.ctx, {
                outer: this,
                namespace: t.namespace,
                extra: t.extra,
                record: !0
            })), a && (this.group = this.$compile(this.template, {namespace: t.namespace}), _.node(this)), this.$parent || this.$update(), this.$ready = !0, this.$emit("$init"), this.init && this.init(this.data), n.isRunning = i
        };
        f && (f.Regular = g), o.extend(g, {
            _directives: {__regexp__: []},
            _plugins: {},
            _protoInheritCache: ["directive", "use"],
            __after__: function (e, t) {
                var i;
                if (this.__after__ = e.__after__, t.name && g.component(t.name, this), i = t.template) {
                    var n, s;
                    "string" == typeof i && i.length < 16 && (n = d.find(i)) && (i = n.innerHTML, (s = d.attr(n, "name")) && g.component(s, this)), i.nodeType && (i = i.innerHTML), "string" == typeof i && (this.prototype.template = new r(i).parse())
                }
                t.computed && (this.prototype.computed = b(t.computed)), g._inheritConfig(this, e)
            },
            directive: function (e, t) {
                if ("object" === o.typeOf(e)) {
                    for (var i in e) e.hasOwnProperty(i) && this.directive(i, e[i]);
                    return this
                }
                var n, s = o.typeOf(e), r = this._directives;
                if (null != t) return "function" == typeof t && (t = {link: t}), "string" === s ? r[e] = t : "regexp" === s && (t.regexp = e, r.__regexp__.push(t)), this; else {
                    if ("string" === s && (n = r[e])) return n;
                    for (var a = r.__regexp__, c = 0, _ = a.length; _ > c; c++) {
                        n = a[c];
                        var d = n.regexp.test(e);
                        if (d) return n
                    }
                }
            },
            plugin: function (e, t) {
                var i = this._plugins;
                return null == t ? i[e] : (i[e] = t, this)
            },
            use: function (e) {
                return "string" == typeof e && (e = g.plugin(e)), "function" != typeof e ? this : (e(this, g), this)
            },
            config: function (e) {
                var t = !1;
                if ("object" == typeof e) for (var i in e) ("END" === i || "BEGIN" === i) && (t = !0), a[i] = e[i];
                t && s.setup()
            },
            expression: m.expression,
            Parser: r,
            Lexer: s,
            _addProtoInheritCache: function (e, t) {
                if (Array.isArray(e)) return e.forEach(g._addProtoInheritCache);
                var i = "_" + e + "s";
                g._protoInheritCache.push(e), g[i] = {}, g[e] || (g[e] = function (n, s) {
                    var r = this[i];
                    if ("object" == typeof n) {
                        for (var a in n) n.hasOwnProperty(a) && this[e](a, n[a]);
                        return this
                    }
                    return null == s ? r[n] : (r[n] = t ? t(s) : s, this)
                })
            },
            _inheritConfig: function (e, t) {
                var i = g._protoInheritCache, n = o.slice(i);
                return n.forEach(function (i) {
                    e[i] = t[i];
                    var n = "_" + i + "s";
                    t[n] && (e[n] = o.createObject(t[n]))
                }), e
            }
        }), c(g), g._addProtoInheritCache("component"), g._addProtoInheritCache("filter", function (e) {
            return "function" == typeof e ? {get: e} : e
        }), u.mixTo(g), p.mixTo(g), g.implement({
            init: function () {
            }, config: function () {
            }, destroy: function () {
                this.$emit("$destroy"), this.group && this.group.destroy(!0), this.group = null, this.parentNode = null, this._watchers = null, this._children = [];
                var e = this.$parent;
                if (e) {
                    var t = e._children.indexOf(this);
                    e._children.splice(t, 1)
                }
                this.$parent = null, this.$root = null, this._handles = null, this.$refs = null
            }, $compile: function (e, t) {
                t = t || {}, "string" == typeof e && (e = new r(e).parse());
                var i, n = this.__ext__, s = t.record;
                t.extra && (this.__ext__ = t.extra), s && this._record();
                var a = this._walk(e, t);
                if (s) {
                    i = this._release();
                    var o = this;
                    i.length && (a.ondestroy = function () {
                        o.$unwatch(i)
                    })
                }
                return t.extra && (this.__ext__ = n), a
            }, $bind: function (e, t, i) {
                var n = o.typeOf(t);
                if ("expression" === t.type || "string" === n) this._bind(e, t, i); else if ("array" === n) for (var s = 0, r = t.length; r > s; s++) this._bind(e, t[s]); else if ("object" === n) for (var s in t) t.hasOwnProperty(s) && this._bind(e, s, t[s]);
                return e.$update(), this
            }, $unbind: function () {
            }, $inject: _.inject, $mute: function (e) {
                e = !!e;
                var t = e === !1 && this._mute;
                return this._mute = !!e, t && this.$update(), this
            }, _bind: function (e, t, i) {
                var n = this;
                if (!(e && e instanceof g)) throw"$bind() should pass Regular component as first argument";
                if (!t) throw"$bind() should  pass as least one expression to bind";
                if (i || (i = t), t = m.expression(t), i = m.expression(i), i.set) {
                    var s = this.$watch(t, function (t) {
                        e.$update(i, t)
                    });
                    e.$on("$destroy", function () {
                        n.$unwatch(s)
                    })
                }
                if (t.set) {
                    var r = e.$watch(i, function (e) {
                        n.$update(t, e)
                    });
                    this.$on("$destroy", e.$unwatch.bind(e, r))
                }
                i.set(e, t.get(this))
            }, _walk: function (e, t) {
                if ("array" === o.typeOf(e)) {
                    for (var i = [], n = 0, s = e.length; s > n; n++) i.push(this._walk(e[n], t));
                    return new h(i)
                }
                return "string" == typeof e ? l.createTextNode(e) : f[e.type || "default"].call(this, e, t)
            }, _append: function (e) {
                this._children.push(e), e.$parent = this
            }, _handleEvent: function (e, t, i, n) {
                var s, r = this.constructor, a = "function" != typeof i ? o.handleEvent.call(this, i, t) : i,
                    c = r.event(t);
                return c ? s = c.call(this, e, a, n) : d.on(e, t, a), c ? s : function () {
                    d.off(e, t, a)
                }
            }, _touchExpr: function (e) {
                var t, i = this.__ext__, n = {};
                if ("expression" !== e.type || e.touched) return e;
                if (t = e.get || (e.get = new Function(o.ctxName, o.extName, o.prefix + "return (" + e.body + ")")), n.get = i ? function (e) {
                    return t(e, i)
                } : t, e.setbody && !e.set) {
                    var s = e.setbody;
                    e.set = function (t, i, n) {
                        return e.set = new Function(o.ctxName, o.setName, o.extName, o.prefix + s), e.set(t, i, n)
                    }, e.setbody = null
                }
                return e.set && (n.set = i ? function (t, n) {
                    return e.set(t, n, i)
                } : e.set), o.extend(n, {type: "expression", touched: !0, once: e.once || e.constant}), n
            }, _f_: function (e) {
                var t = this.constructor, i = t.filter(e);
                if (!i) throw Error("filter " + e + " is undefined");
                return i
            }, _sg_: function (e, t, i) {
                if ("undefined" != typeof i) {
                    var n = this.computed, s = n[e];
                    if (s) {
                        if ("expression" !== s.type || s.get || this._touchExpr(s), s.get) return s.get(this);
                        o.log("the computed '" + e + "' don't define the get function,  get data." + e + " altnately", "warn")
                    }
                }
                return "undefined" == typeof t || "undefined" == typeof e ? void 0 : i && "undefined" != typeof i[e] ? i[e] : t[e]
            }, _ss_: function (e, t, i, n, s) {
                var r, s = this.computed, n = n || "=", a = s ? s[e] : null;
                if ("=" !== n) switch (r = a ? a.get(this) : i[e], n) {
                    case"+=":
                        t = r + t;
                        break;
                    case"-=":
                        t = r - t;
                        break;
                    case"*=":
                        t = r * t;
                        break;
                    case"/=":
                        t = r / t;
                        break;
                    case"%=":
                        t = r % t
                }
                if (a) {
                    if (a.set) return a.set(this, t);
                    o.log("the computed '" + e + "' don't define the set function,  assign data." + e + " altnately", "warn")
                }
                return i[e] = t, t
            }
        }), g.prototype.inject = function () {
            return o.log("use $inject instead of inject", "error"), this.$inject.apply(this, arguments)
        }, g.filter(v), e.exports = g;
        var b = function () {
            function e(e) {
                return function (t) {
                    return e.call(t, t.data)
                }
            }

            function t(e) {
                return function (t, i) {
                    return e.call(t, i, t.data), i
                }
            }

            return function (i) {
                if (i) {
                    var n, s, r, a = {};
                    for (var o in i) n = i[o], r = typeof n, "expression" !== n.type ? "string" === r ? a[o] = m.expression(n) : (s = a[o] = {type: "expression"}, "function" === r ? s.get = e(n) : (n.get && (s.get = e(n.get)), n.set && (s.set = t(n.set)))) : a[o] = n;
                    return a
                }
            }
        }()
    }, function (e, t, i) {
        function n(e) {
            return ("" + e).replace(/-\D/g, function (e) {
                return e.charAt(1).toUpperCase()
            })
        }

        function s(e, t) {
            return "change" === t && c.msie < 9 && e && e.tagName && "input" === e.tagName.toLowerCase() && ("checkbox" === e.type || "radio" === e.type) ? "click" : t
        }

        function r(e) {
            if (e = e || window.event, e._fixed) return e;
            this.event = e, this.target = e.target || e.srcElement;
            var t = this.type = e.type, i = this.button = e.button;
            if (p.test(t) && (this.pageX = null != e.pageX ? e.pageX : e.clientX + m.scrollLeft, this.pageY = null != e.pageX ? e.pageY : e.clientY + m.scrollTop, "mouseover" === t || "mouseout" === t)) {
                for (var n = e.relatedTarget || e[("mouseover" === t ? "from" : "to") + "Element"]; n && 3 === n.nodeType;) n = n.parentNode;
                this.relatedTarget = n
            }
            ("DOMMouseScroll" === t || "mousewheel" === t) && (this.wheelDelta = e.wheelDelta ? e.wheelDelta / 120 : -(e.detail || 0) / 3), this.which = e.which || e.keyCode, this.which || void 0 === i || (this.which = 1 & i ? 1 : 2 & i ? 3 : 4 & i ? 2 : 0), this._fixed = !0
        }

        var a, o, c = e.exports, _ = i(1), d = i(5), f = document.createElement("div"), h = function () {
        }, l = {html: "http://www.w3.org/1999/xhtml", svg: "http://www.w3.org/2000/svg"};
        c.body = document.body, c.doc = document, c.tNode = f, f.addEventListener ? (a = function (e, t, i) {
            e.addEventListener(t, i, !1)
        }, o = function (e, t, i) {
            e.removeEventListener(t, i, !1)
        }) : (a = function (e, t, i) {
            e.attachEvent("on" + t, i)
        }, o = function (e, t, i) {
            e.detachEvent("on" + t, i)
        }), c.msie = parseInt((/msie (\d+)/.exec(navigator.userAgent.toLowerCase()) || [])[1]), isNaN(c.msie) && (c.msie = parseInt((/trident\/.*; rv:(\d+)/.exec(navigator.userAgent.toLowerCase()) || [])[1])), c.find = function (e) {
            if (document.querySelector) try {
                return document.querySelector(e)
            } catch (t) {
            }
            return -1 !== e.indexOf("#") ? document.getElementById(e.slice(1)) : void 0
        }, c.inject = function (e, t, i) {
            if (i = i || "bottom", e) {
                if (Array.isArray(e)) {
                    var n = e;
                    e = c.fragment();
                    for (var s = 0, r = n.length; r > s; s++) e.appendChild(n[s])
                }
                var a, o;
                switch (i) {
                    case"bottom":
                        t.appendChild(e);
                        break;
                    case"top":
                        (a = t.firstChild) ? t.insertBefore(e, t.firstChild) : t.appendChild(e);
                        break;
                    case"after":
                        (o = t.nextSibling) ? o.parentNode.insertBefore(e, o) : t.parentNode.appendChild(e);
                        break;
                    case"before":
                        t.parentNode.insertBefore(e, t)
                }
            }
        }, c.id = function (e) {
            return document.getElementById(e)
        }, c.create = function (e, t) {
            if ("svg" === t) {
                if (!_.svg) throw Error("the env need svg support");
                t = l.svg
            }
            return t ? document.createElementNS(t, e) : document.createElement(e)
        }, c.fragment = function () {
            return document.createDocumentFragment()
        };
        var u = {
            "class": function (e, t) {
                "className" in e && (e.namespaceURI === l.html || !e.namespaceURI) ? e.className = t || "" : e.setAttribute("class", t)
            }, "for": function (e, t) {
                "htmlFor" in e ? e.htmlFor = t : e.setAttribute("for", t)
            }, style: function (e, t) {
                e.style ? e.style.cssText = t : e.setAttribute("style", t)
            }, value: function (e, t) {
                e.value = null != t ? t : ""
            }
        };
        c.attr = function (e, t, i) {
            if (d.isBooleanAttr(t)) {
                if ("undefined" == typeof i) return e[t] || (e.attributes.getNamedItem(t) || h).specified ? t : void 0;
                i ? (e[t] = !0, e.setAttribute(t, t), c.msie && c.msie <= 7 && (e.defaultChecked = !0)) : (e[t] = !1, e.removeAttribute(t))
            } else if ("undefined" != typeof i) u[t] ? u[t](e, i) : null === i ? e.removeAttribute(t) : e.setAttribute(t, i); else if (e.getAttribute) {
                var n = e.getAttribute(t, 2);
                return null === n ? void 0 : n
            }
        }, c.on = function (e, t, i) {
            var n = t.split(" ");
            i.real = function (t) {
                var n = new r(t);
                n.origin = e, i.call(e, n)
            }, n.forEach(function (t) {
                t = s(e, t), a(e, t, i.real)
            })
        }, c.off = function (e, t, i) {
            var n = t.split(" ");
            i = i.real || i, n.forEach(function (t) {
                t = s(e, t), o(e, t, i)
            })
        }, c.text = function () {
            var e = {};
            return c.msie && c.msie < 9 ? (e[1] = "innerText", e[3] = "nodeValue") : e[1] = e[3] = "textContent", function (t, i) {
                var n = e[t.nodeType];
                return null == i ? n ? t[n] : "" : void (t[n] = i)
            }
        }(), c.html = function (e, t) {
            return "undefined" == typeof t ? e.innerHTML : void (e.innerHTML = t)
        }, c.replace = function (e, t) {
            t.parentNode && t.parentNode.replaceChild(e, t)
        }, c.remove = function (e) {
            e.parentNode && e.parentNode.removeChild(e)
        }, c.css = function (e, t, i) {
            if ("object" !== d.typeOf(t)) {
                if ("undefined" == typeof i) {
                    var s;
                    return c.msie <= 8 && (s = e.currentStyle && e.currentStyle[t], "" === s && (s = "auto")), s = s || e.style[t], c.msie <= 8 && (s = "" === s ? void 0 : s), s
                }
                t = n(t), t && (e.style[t] = i)
            } else for (var r in t) t.hasOwnProperty(r) && c.css(e, r, t[r])
        }, c.addClass = function (e, t) {
            var i = e.className || "";
            -1 === (" " + i + " ").indexOf(" " + t + " ") && (e.className = i ? i + " " + t : t)
        }, c.delClass = function (e, t) {
            var i = e.className || "";
            e.className = (" " + i + " ").replace(" " + t + " ", " ").trim()
        }, c.hasClass = function (e, t) {
            var i = e.className || "";
            return -1 !== (" " + i + " ").indexOf(" " + t + " ")
        };
        var p = /^(?:click|dblclick|contextmenu|DOMMouseScroll|mouse(?:\w+))$/, m = document;
        m = m.compatMode && "CSS1Compat" !== m.compatMode ? m.body : m.documentElement, d.extend(r.prototype, {
            immediateStop: d.isFalse,
            stop: function () {
                this.preventDefault().stopPropagation()
            },
            preventDefault: function () {
                return this.event.preventDefault ? this.event.preventDefault() : this.event.returnValue = !1, this
            },
            stopPropagation: function () {
                return this.event.stopPropagation ? this.event.stopPropagation() : this.event.cancelBubble = !0, this
            },
            stopImmediatePropagation: function () {
                this.event.stopImmediatePropagation && this.event.stopImmediatePropagation()
            }
        }), c.nextFrame = function () {
            var e = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function (e) {
                    setTimeout(e, 16)
                },
                t = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelRequestAnimationFrame || function (e) {
                    clearTimeout(e)
                };
            return function (i) {
                var n = e(i);
                return function () {
                    t(n)
                }
            }
        }();
        var v;
        c.nextReflow = c.msie ? function (e) {
            return c.nextFrame(function () {
                v = document.body.offsetWidth, e()
            })
        } : c.nextFrame
    }, function (e, t, i) {
        (function (t) {
            function n(e, t) {
                "undefined" != typeof console && console[t || "log"](e)
            }

            i(19)();
            var s = e.exports, r = i(20), a = [].slice, o = {}.toString, c = "undefined" != typeof window ? window : t;
            s.noop = function () {
            }, s.uid = function () {
                var e = 0;
                return function () {
                    return e++
                }
            }(), s.extend = function (e, t, i) {
                for (var n in t) ("undefined" == typeof e[n] || i === !0) && (e[n] = t[n]);
                return e
            }, s.keys = function (e) {
                if (Object.keys) return Object.keys(e);
                var t = [];
                for (var i in e) e.hasOwnProperty(i) && t.push(i);
                return t
            }, s.varName = "d", s.setName = "p_", s.ctxName = "c", s.extName = "e", s.rWord = /^[\$\w]+$/, s.rSimpleAccessor = /^[\$\w]+(\.[\$\w]+)*$/, s.nextTick = "function" == typeof setImmediate ? setImmediate.bind(c) : function (e) {
                setTimeout(e, 0)
            }, s.prefix = "var " + s.varName + "=" + s.ctxName + ".data;" + s.extName + "=" + s.extName + "||'';", s.slice = function (e, t, i) {
                for (var n = [], s = t || 0, r = i || e.length; r > s; s++) {
                    var a = e[s];
                    n.push(a)
                }
                return n
            }, s.typeOf = function (e) {
                return null == e ? String(e) : o.call(e).slice(8, -1).toLowerCase()
            }, s.makePredicate = function (e) {
                function t(e) {
                    if (1 === e.length) return i += "return str === '" + e[0] + "';";
                    i += "switch(str){";
                    for (var t = 0; t < e.length; ++t) i += "case '" + e[t] + "':";
                    i += "return true}return false;"
                }

                "string" == typeof e && (e = e.split(" "));
                var i = "", n = [];
                e:for (var s = 0; s < e.length; ++s) {
                    for (var r = 0; r < n.length; ++r) if (n[r][0].length === e[s].length) {
                        n[r].push(e[s]);
                        continue e
                    }
                    n.push([e[s]])
                }
                if (n.length > 3) {
                    n.sort(function (e, t) {
                        return t.length - e.length
                    }), i += "switch(str.length){";
                    for (var s = 0; s < n.length; ++s) {
                        var a = n[s];
                        i += "case " + a[0].length + ":", t(a)
                    }
                    i += "}"
                } else t(e);
                return new Function("str", i)
            }, s.trackErrorPos = function () {
                function e(e, t) {
                    for (var i = 0, n = 0, s = e.length; s > n; n++) {
                        var r = (e[n] || "").length;
                        if (i + r > t) return {num: n, line: e[n], start: t - n - i, prev: e[n - 1], next: e[n + 1]};
                        i += r
                    }
                }

                function t(e, t, i, r) {
                    var a = e.length, o = t - n;
                    0 > o && (o = 0);
                    var c = t + s;
                    c > a && (c = a);
                    var _ = e.slice(o, c), d = "[" + (i + 1) + "] " + (o > 0 ? ".." : ""), f = a > c ? ".." : "",
                        h = d + _ + f;
                    return r && (h += "\n" + new Array(t - o + d.length + 1).join(" ") + "^^^"), h
                }

                var i = /\r\n|[\n\r\u2028\u2029]/g, n = 20, s = 20;
                return function (n, s) {
                    s > n.length - 1 && (s = n.length - 1), i.lastIndex = 0;
                    var r = n.split(i), a = e(r, s), o = a.start, c = a.num;
                    return (a.prev ? t(a.prev, o, c - 1) + "\n" : "") + t(a.line, o, c, !0) + "\n" + (a.next ? t(a.next, o, c + 1) + "\n" : "")
                }
            }();
            var _ = /\((\?\!|\?\:|\?\=)/g;
            s.findSubCapture = function (e) {
                var t = 0, i = 0, n = e.length, s = e.match(_);
                for (s = s ? s.length : 0; n--;) {
                    var r = e.charAt(n);
                    (0 === n || "\\" !== e.charAt(n - 1)) && ("(" === r && t++, ")" === r && i++)
                }
                if (t !== i) throw"RegExp: " + e + "'s bracket is not marched";
                return t - s
            }, s.escapeRegExp = function (e) {
                return e.replace(/[-[\]{}()*+?.\\^$|,#\s]/g, function (e) {
                    return "\\" + e
                })
            };
            var d = new RegExp("&(?:(#x[0-9a-fA-F]+)|(#[0-9]+)|(" + s.keys(r).join("|") + "));", "gi");
            s.convertEntity = function (e) {
                return ("" + e).replace(d, function (e, t, i, n) {
                    var s;
                    return s = i ? parseInt(i.slice(1), 10) : t ? parseInt(t.slice(2), 16) : r[n], String.fromCharCode(s)
                })
            }, s.createObject = function (e, t) {
                function i() {
                }

                i.prototype = e;
                var n = new i;
                return t && s.extend(n, t), n
            }, s.createProto = function (e, t) {
                function i() {
                    this.constructor = e
                }

                return i.prototype = t, e.prototype = new i
            }, s.clone = function (e) {
                var t = s.typeOf(e);
                if ("array" === t) {
                    for (var i = [], n = 0, r = e.length; r > n; n++) i[n] = e[n];
                    return i
                }
                if ("object" === t) {
                    var i = {};
                    for (var n in e) e.hasOwnProperty(n) && (i[n] = e[n]);
                    return i
                }
                return e
            }, s.equals = function (e, t) {
                var i = typeof e;
                return "number" === i && "number" == typeof t && isNaN(e) && isNaN(t) ? !0 : e === t
            };
            var f = /-([a-z])/g;
            s.camelCase = function (e) {
                return e.replace(f, function (e, t) {
                    return t.toUpperCase()
                })
            }, s.throttle = function (e, t) {
                var i, n, s, t = t || 100, r = null, a = 0, o = function () {
                    a = +new Date, r = null, s = e.apply(i, n), i = n = null
                };
                return function () {
                    var c = +new Date, _ = t - (c - a);
                    return i = this, n = arguments, 0 >= _ || _ > t ? (clearTimeout(r), r = null, a = c, s = e.apply(i, n), i = n = null) : r || (r = setTimeout(o, _)), s
                }
            }, s.escape = function () {
                var e = /&/g, t = /</g, i = />/g, n = /\'/g, s = /\"/g, r = /[&<>\"\']/;
                return function (a) {
                    return r.test(a) ? a.replace(e, "&amp;").replace(t, "&lt;").replace(i, "&gt;").replace(n, "&#39;").replace(s, "&quot;") : a
                }
            }(), s.cache = function (e) {
                e = e || 1e3;
                var t = [], i = {};
                return {
                    set: function (e, n) {
                        return t.length > this.max && (i[t.shift()] = void 0), void 0 === i[e] && t.push(e), i[e] = n, n
                    }, get: function (e) {
                        return void 0 === e ? i : i[e]
                    }, max: e, len: function () {
                        return t.length
                    }
                }
            }, s.handleEvent = function (e) {
                var t, i = this;
                return "expression" === e.type && (t = e.get), t ? function (e) {
                    i.$update(function () {
                        var n = this.data;
                        n.$event = e;
                        var s = t(i);
                        s === !1 && e && e.preventDefault && e.preventDefault(), n.$event = void 0
                    })
                } : function () {
                    var t = a.call(arguments);
                    t.unshift(e), i.$update(function () {
                        i.$emit.apply(i, t)
                    })
                }
            }, s.once = function (e) {
                var t = 0;
                return function () {
                    0 === t++ && e.apply(this, arguments)
                }
            }, s.fixObjStr = function (e) {
                return 0 !== e.trim().indexOf("{") ? "{" + e + "}" : e
            }, s.map = function (e, t) {
                for (var i = [], n = 0, s = e.length; s > n; n++) i.push(t(e[n], n));
                return i
            }, s.log = n, s.isVoidTag = s.makePredicate("area base br col embed hr img input keygen link menuitem meta param source track wbr r-content"), s.isBooleanAttr = s.makePredicate("selected checked disabled readonly required open autofocus controls autoplay compact loop defer multiple"), s.isFalse - function () {
                return !1
            }, s.isTrue - function () {
                return !0
            }, s.isExpr = function (e) {
                return e && "expression" === e.type
            }, s.isGroup = function (e) {
                return e.inject || e.$inject
            }, s.getCompileFn = function (e, t, i) {
                return t.$compile.bind(t, e, i)
            }
        }).call(t, function () {
            return this
        }())
    }, function (e, t, i) {
        var n = i(5), s = i(4), r = (i(21), i(3)), a = i(22);
        i(23), i(24), e.exports = {
            "r-class": function (e, t) {
                "string" == typeof t && (t = n.fixObjStr(t)), this.$watch(t, function (t) {
                    var i = " " + e.className.replace(/\s+/g, " ") + " ";
                    for (var n in t) t.hasOwnProperty(n) && (i = i.replace(" " + n + " ", " "), t[n] === !0 && (i += n + " "));
                    e.className = i.trim()
                }, !0)
            }, "r-style": function (e, t) {
                "string" == typeof t && (t = n.fixObjStr(t)), this.$watch(t, function (t) {
                    for (var i in t) t.hasOwnProperty(i) && s.css(e, i, t[i])
                }, !0)
            }, "r-hide": function (e, t) {
                var i, s = null;
                n.isExpr(t) || "string" == typeof t ? this.$watch(t, function (t) {
                    var n = !!t;
                    n !== s && (s = n, n ? e.onleave ? i = e.onleave(function () {
                        e.style.display = "none", i = null
                    }) : e.style.display = "none" : (i && i(), e.style.display = "", e.onenter && e.onenter()))
                }) : t && (e.style.display = "none")
            }, "r-html": function (e, t) {
                this.$watch(t, function (t) {
                    t = t || "", s.html(e, t)
                }, {force: !0})
            }, ref: {
                accept: a.COMPONENT_TYPE + a.ELEMENT_TYPE, link: function (e, t) {
                    var i, s = this.$refs || (this.$refs = {});
                    return n.isExpr(t) ? this.$watch(t, function (t, n) {
                        i = t, s[n] === e && (s[n] = null), i && (s[i] = e)
                    }) : s[i = t] = e, function () {
                        s[i] = null
                    }
                }
            }
        }, r.directive(e.exports)
    }, function (e, t, i) {
        function n(e) {
            var t, i = [], n = 0, s = r.noop, a = {
                type: e, start: function (e) {
                    return t = r.uid(), "function" == typeof e && (s = e), n > 0 ? n = 0 : a.step(), a.compelete
                }, compelete: function () {
                    t = null, s && s(), s = r.noop, n = 0
                }, step: function () {
                    i[n] && i[n](a.done.bind(a, t))
                }, done: function (e) {
                    e === t && (n < i.length - 1 ? (n++, a.step()) : a.compelete())
                }, push: function (e) {
                    i.push(e)
                }
            };
            return a
        }

        function s(e, t) {
            function i(e) {
                f && v.push(f), f = n(e)
            }

            function s(e, t) {
                t && e()
            }

            function a(e) {
                return function () {
                    e.onenter = null, e.onleave = null
                }
            }

            var o = this.constructor;
            r.isExpr(t) && (t = t.get(this)), t = t.trim();
            for (var c, f, h, l, u, p, m = t.split(";"), v = [], g = [], b = 0, $ = m.length; $ > b; b++) if (c = m[b], u = c.split(":"), h = u[0] && u[0].trim(), l = u[1] && u[1].trim(), h) if (h !== _) if (h !== d) {
                var p = o.animation(h);
                if (!p || !f) throw Error(p ? "you should start with `on` or `event` in animation" : "undefined animator 【" + h + "】");
                f.push(p.call(this, {element: e, done: f.done, param: l}))
            } else i(l), "leave" === l ? (e.onleave = f.start, g.push(a(e))) : "enter" === l ? (e.onenter = f.start, g.push(a(e))) : "on" + l in e ? g.push(this._handleEvent(e, l, f.start)) : (this.$on(l, f.start), g.push(this.$off.bind(this, l, f.start))); else i("when"), this.$watch(l, s.bind(this, f.start));
            return g.length ? function () {
                g.forEach(function (e) {
                    e()
                })
            } : void 0
        }

        var r = i(5), a = i(21), o = (i(4), i(3)), c = /\s+/, _ = "when", d = "on";
        o._addProtoInheritCache("animation"), o.animation({
            wait: function (e) {
                var t = parseInt(e.param) || 0;
                return function (e) {
                    setTimeout(e, t)
                }
            }, "class": function (e) {
                var t = e.param.split(","), i = t[0] || "", n = parseInt(t[1]) || 1;
                return function (t) {
                    a.startClassAnimate(e.element, i, t, n)
                }
            }, call: function (e) {
                var t = this.$expression(e.param).get, i = this;
                return function (e) {
                    t(i), i.$update(), e()
                }
            }, emit: function (e) {
                var t = e.param, i = t.split(","), n = i[0] || "", s = i[1] ? this.$expression(i[1]).get : null;
                if (!n) throw Error("you shoud specified a eventname in emit command");
                var r = this;
                return function (e) {
                    r.$emit(n, s ? s(r) : void 0), e()
                }
            }, style: function (e) {
                var t, i = {}, n = e.param, s = n.split(",");
                return s.forEach(function (e) {
                    if (e = e.trim()) {
                        var n = e.split(c), s = n.shift(), r = n.join(" ");
                        if (!s || !r) throw Error("invalid style in command: style");
                        i[s] = r, t = !0
                    }
                }), function (n) {
                    t ? a.startStyleAnimate(e.element, i, n) : n()
                }
            }
        }), o.directive("r-animation", s), o.directive("r-anim", s)
    }, function (e, t, i) {
        function n(e) {
            e.implement({
                $timeout: function (e, t) {
                    return t = t || 0, setTimeout(function () {
                        e.call(this), this.$update()
                    }.bind(this), t)
                }, $interval: function (e, t) {
                    return t = t || 1e3 / 60, setInterval(function () {
                        e.call(this), this.$update()
                    }.bind(this), t)
                }
            })
        }

        var s = i(3);
        s.plugin("timeout", n), s.plugin("$timeout", n)
    }, function (e, t, i) {
        function n(e, t) {
            return "object" === t ? d.keys(e) : "array" === t ? e : []
        }

        function s(e, t, i) {
            for (var n = [], s = 0, r = e.length; r > s; s++) {
                var a = this._walk(e[s], {element: t, fromElement: !0, attrs: e, extra: i});
                a && n.push(a)
            }
            return n
        }

        var r = i(25).diffArray, a = i(14), o = i(21), c = (i(26), i(10)), _ = i(4), d = i(5), f = e.exports = {};
        f.list = function (e, t) {
            function i(e, t) {
                for (var i = 0; t > i; i++) {
                    var n = A.children.splice(e + 1, 1)[0];
                    n && n.destroy(!0)
                }
            }

            function s(i, n, s, r) {
                for (var c = i; n > c; c++) {
                    var f = s[c], h = {};
                    _(h, c, f, r), h = d.createObject($, h);
                    var l = N.$compile(e.body, {extra: h, namespace: b, record: !0, outer: t.outer});
                    l.data = h;
                    var u = a.last(A.get(c));
                    u.parentNode && o.inject(a.node(l), u, "after"), A.children.splice(c + 1, 0, l)
                }
            }

            function _(e, t, i, n) {
                e[y] = t, n ? (e[w] = i, e[C] = n[i]) : (e[C] = i, e[w] = null)
            }

            function h(e, t, i, n) {
                for (var s = e; t > s; s++) {
                    var r = A.get(s + 1), a = i[s];
                    _(r.data, s, a, n)
                }
            }

            function l(e, t, n, a) {
                var o = 0, c = e.length;
                if (n || 0 === c && 0 === t.length || (n = r(e, t, !0)), n && n.length) {
                    for (var _ = 0; _ < n.length; _++) {
                        var d = n[_], f = d.index, l = d.removed, u = d.add, p = l.length;
                        if (E && p && u) {
                            for (var v = Math.min(p, u), g = 0; v > g;) m(e[f], f) !== m(l[0], f) && (i(f, 1), s(f, f + 1, e, a)), l.shift(), u--, f++, g++;
                            p = l.length
                        }
                        h(o, f, e, a), i(f, p), s(f, f + u, e, a), o = f + u - p, o = 0 > o ? 0 : o
                    }
                    if (c > o) for (var _ = o; c > _; _++) {
                        var b = A.get(_ + 1);
                        b.data[y] = _
                    }
                }
            }

            function u(e, t, n) {
                var r = e.length, a = t.length, o = Math.min(r, a);
                h(0, o, e, n), a > r ? i(r, a - r) : r > a && s(a, r, e, n)
            }

            function p(e, i, s) {
                var r, c = d.typeOf(e), _ = d.typeOf(i), f = n(e, c), h = n(i, _), p = f && f.length, m = h && h.length;
                if (!m && p && A.get(1)) {
                    var v = A.children.pop();
                    v.destroy && v.destroy(!0)
                }
                if ("object" === c && (r = e), E === !0 ? u(f, h, r) : l(f, h, s, r), !p && k && k.length) {
                    var y = N.$compile(k, {extra: $, record: !0, outer: t.outer, namespace: b});
                    A.children.push(y), g.parentNode && o.inject(a.node(y), g, "after")
                }
            }

            var m, v, g = (f.Regular, document.createComment("Regular list")), b = t.namespace, $ = t.extra, N = this,
                A = new c([g]), y = e.variable + "_index", w = e.variable + "_key", C = e.variable, k = e.alternate,
                E = e.track;
            return E && E !== !0 && (E = this._touchExpr(E), v = d.createObject($), m = function (e, t) {
                return v[C] = e, v[y] = t, E.get(N, v)
            }), this.$watch(e.sequence, p, {init: !0, diff: E !== !0, deep: !0}), A
        }, f.template = function (e, t) {
            var i, i, n = e.content, s = document.createComment("inlcude"), r = t.namespace, a = t.extra,
                o = new c([s]);
            if (n) {
                var _ = this;
                this.$watch(n, function (e) {
                    var n = o.get(1), c = typeof e;
                    n && (n.destroy(!0), o.children.pop()), e && (o.push(i = "function" === c ? e() : _.$compile("object" !== c ? String(e) : e, {
                        record: !0,
                        outer: t.outer,
                        namespace: r,
                        extra: a
                    })), s.parentNode && i.$inject(s, "before"))
                }, {init: !0})
            }
            return o
        };
        var h = 0;
        f["if"] = function (e, t) {
            var i, n, s = this, r = t.extra;
            if (t && t.element) {
                var _ = function (o) {
                    o ? (n && a.destroy(n), e.consequent && (i = s.$compile(e.consequent, {
                        record: !0,
                        element: t.element,
                        extra: r
                    }))) : (i && a.destroy(i), e.alternate && (n = s.$compile(e.alternate, {
                        record: !0,
                        element: t.element,
                        extra: r
                    })))
                };
                return this.$watch(e.test, _, {force: !0}), {
                    destroy: function () {
                        i ? a.destroy(i) : n && a.destroy(n)
                    }
                }
            }
            var i, n, d = document.createComment("Regular if" + h++), f = new c;
            f.push(d);
            var l = null, u = t.namespace, _ = function (c) {
                var _ = !!c;
                _ !== l && (l = _, f.children[1] && (f.children[1].destroy(!0), f.children.pop()), _ ? e.consequent && e.consequent.length && (i = s.$compile(e.consequent, {
                    record: !0,
                    outer: t.outer,
                    namespace: u,
                    extra: r
                }), f.push(i), d.parentNode && o.inject(a.node(i), d, "before")) : e.alternate && e.alternate.length && (n = s.$compile(e.alternate, {
                    record: !0,
                    outer: t.outer,
                    namespace: u,
                    extra: r
                }), f.push(n), d.parentNode && o.inject(a.node(n), d, "before")))
            };
            return this.$watch(e.test, _, {force: !0, init: !0}), f
        }, f.expression = function (e) {
            var t = document.createTextNode("");
            return this.$watch(e, function (e) {
                _.text(t, "" + (null == e ? "" : "" + e))
            }, {init: !0}), t
        }, f.text = function (e) {
            var t = document.createTextNode(d.convertEntity(e.text));
            return t
        };
        var l = /^on-(.+)$/;
        f.element = function (e, t) {
            var i, n, r = e.attrs, c = this.constructor, h = e.children, l = t.namespace, u = t.extra, p = e.tag,
                m = c.component(p);
            if ("r-content" === p) return d.log("r-content is deprecated, use {#inc this.$body} instead (`{#include}` as same)", "warn"), this.$body && this.$body();
            if (m || "r-component" === p) return t.Component = m, f.component.call(this, e, t);
            "svg" === p && (l = "svg"), h && h.length && (i = this.$compile(h, {
                outer: t.outer,
                namespace: l,
                extra: u
            })), n = _.create(p, l, r), i && !d.isVoidTag(p) && _.inject(a.node(i), n), e.touched || (r.sort(function (e, t) {
                var i = c.directive(e.name), n = c.directive(t.name);
                return i && n ? (n.priority || 1) - (i.priority || 1) : i ? 1 : n ? -1 : "type" === t.name ? 1 : -1
            }), e.touched = !0);
            var v = s.call(this, r, n, u);
            return {
                type: "element", group: i, node: function () {
                    return n
                }, last: function () {
                    return n
                }, destroy: function (e) {
                    e ? o.remove(n, i ? i.destroy.bind(i) : d.noop) : i && i.destroy(), v.length && v.forEach(function (e) {
                        e && ("function" == typeof e.destroy ? e.destroy() : e())
                    })
                }
            }
        }, f.component = function (e, t) {
            for (var i, n, s, r, o = e.attrs, _ = t.Component, f = this.constructor, h = t.extra, u = t.namespace, p = this, m = {}, v = 0, g = o.length; g > v; v++) {
                var b = o[v], $ = this._touchExpr(void 0 === b.value ? !0 : b.value);
                $.constant && ($ = b.value = $.get(this)), b.value && b.value.constant === !0 && ($ = $.get(this));
                var N = b.name;
                if (!b.event) {
                    var A = N.match(l);
                    A && (b.event = A[1])
                }
                if ("cmpl" === b.mdf && ($ = d.getCompileFn($, this, {
                    record: !0,
                    namespace: u,
                    extra: h,
                    outer: t.outer
                })), "is" === N && !_) {
                    s = $;
                    var y = this.$get($, !0);
                    if (_ = f.component(y), "function" != typeof _) throw new Error("component " + y + " has not registed!")
                }
                var w;
                (w = b.event) ? (r = r || {}, r[w] = d.handleEvent.call(this, $, w)) : (N = b.name = d.camelCase(N), m[N] = "expression" !== $.type ? $ : $.get(p), "ref" === N && null != $ && (n = $), "isolate" === N && (i = "expression" === $.type ? $.get(p) : parseInt($ === !0 ? 3 : $, 10), m.isolate = i))
            }
            var C, k = {
                data: m,
                events: r,
                $parent: 2 & i ? null : this,
                $root: this.$root,
                $outer: t.outer,
                _body: {ctx: this, ast: e.children}
            }, t = {namespace: u, extra: t.extra}, E = new _(k, t);
            n && this.$refs && (C = _.directive("ref").link, this.$on("$destroy", C.call(this, E, n))), n && p.$refs && (p.$refs[n] = E);
            for (var v = 0, g = o.length; g > v; v++) {
                var b = o[v], $ = b.value || !0, N = b.name;
                "expression" !== $.type || b.event || ($ = p._touchExpr($), 2 & i || this.$watch($, function (e, t) {
                    this.data[e] = t
                }.bind(E, N)), !$.set || 1 & i || E.$watch(N, p.$update.bind(p, $), {sync: !0}))
            }
            if (s && "expression" === s.type) {
                var T = new c;
                return T.push(E), this.$watch(s, function (e) {
                    var t = f.component(e);
                    if (!t) throw new Error("component " + e + " has not registed!");
                    var i = new t(k), s = T.children.pop();
                    T.push(i), i.$inject(a.last(s), "after"), s.destroy(), n && (p.$refs[n] = i)
                }, {sync: !0}), T
            }
            return E
        }, f.attribute = function (e, t) {
            var i = e, n = i.name, s = i.value || "", r = s.constant, a = this.constructor, o = a.directive(n),
                c = t.element, f = this;
            if (s = this._touchExpr(s), r && (s = s.get(this)), o && o.link) {
                var h = o.link.call(f, c, s, n, t.attrs);
                return "function" == typeof h && (h = {destroy: h}), h
            }
            return "expression" === s.type ? this.$watch(s, function (e) {
                _.attr(c, n, e)
            }, {init: !0}) : d.isBooleanAttr(n) ? _.attr(c, n, !0) : _.attr(c, n, s), t.fromElement ? void 0 : {
                destroy: function () {
                    _.attr(c, n, null)
                }
            }
        }
    }, function (e, t, i) {
        function n(e) {
            this.children = e || []
        }

        var s = i(5), r = i(14), a = s.extend(n.prototype, {
            destroy: function (e) {
                r.destroy(this.children, e), this.ondestroy && this.ondestroy(), this.children = null
            }, get: function (e) {
                return this.children[e]
            }, push: function (e) {
                this.children.push(e)
            }
        });
        a.inject = a.$inject = r.inject, e.exports = n
    }, function (e, t, i) {
        function n(e) {
            return function (t) {
                return {type: e, value: t}
            }
        }

        function s(e, t) {
            f[d.END] && (this.markStart = f[d.END], this.markEnd = d.END), this.input = (e || "").trim(), this.opts = t || {}, this.map = 2 !== this.opts.mode ? o : c, this.states = ["INIT"], t && t.expression && (this.states.push("JST"), this.expression = !0)
        }

        function r(e) {
            for (var t, i, n = {}, s = 0, r = e.length; r > s; s++) t = e[s], i = t[2] || "INIT", (n[i] || (n[i] = {
                rules: [],
                links: []
            })).rules.push(t);
            return a(n)
        }

        function a(e) {
            function t(e, t) {
                return "string" == typeof h[t] ? _.escapeRegExp(h[t]) : String(h[t]).slice(1, -1)
            }

            var i, s, r, a, o, c, d;
            for (var f in e) {
                i = e[f], i.curIndex = 1, s = i.rules, r = [];
                for (var l = 0, u = s.length; u > l; l++) d = s[l], o = d[0], a = d[1], "string" == typeof a && (a = n(a)), "regexp" === _.typeOf(o) && (o = o.toString().slice(1, -1)), o = o.replace(/\{(\w+)\}/g, t), c = _.findSubCapture(o) + 1, i.links.push([i.curIndex, c, a]), i.curIndex += c, r.push(o);
                i.TRUNK = new RegExp("^(?:(" + r.join(")|(") + "))")
            }
            return e
        }

        var o, c, _ = i(5), d = i(2), f = {"}": "{", "]": "["},
            h = {NAME: /(?:[:_A-Za-z][-\.:_0-9A-Za-z]*)/, IDENT: /[\$_A-Za-z][_0-9A-Za-z\$]*!/, SPACE: /[\r\n\t\f ]/},
            l = /a|(b)/.exec("a"), u = l && void 0 === l[1] ? function (e) {
                return void 0 !== e
            } : function (e) {
                return !!e
            }, p = s.prototype;
        p.lex = function (e) {
            e = (e || this.input).trim();
            var t, i, n, s, r, a = [];
            this.input = e, this.marks = 0, this.index = 0;
            for (var o = 0; e;) o++, r = this.state(), t = this.map[r], i = t.TRUNK.exec(e), i || this.error("Unrecoginized Token"), n = i[0].length, e = e.slice(n), s = this._process.call(this, i, t, e),
            s && a.push(s), this.index += n;
            return a.push({type: "EOF"}), a
        }, p.error = function (e) {
            throw Error("Parse Error: " + e + ":\n" + _.trackErrorPos(this.input, this.index))
        }, p._process = function (e, t, i) {
            for (var n, s = t.links, r = !1, a = s.length, o = 0; a > o; o++) {
                var c = s[o], _ = c[2], d = c[0];
                if (u(e[d])) {
                    r = !0, _ && (n = _.apply(this, e.slice(d, d + c[1])), n && (n.pos = this.index));
                    break
                }
            }
            if (!r) switch (i.charAt(0)) {
                case"<":
                    this.enter("TAG");
                    break;
                default:
                    this.enter("JST")
            }
            return n
        }, p.enter = function (e) {
            return this.states.push(e), this
        }, p.state = function () {
            var e = this.states;
            return e[e.length - 1]
        }, p.leave = function (e) {
            var t = this.states;
            e && t[t.length - 1] !== e || t.pop()
        }, s.setup = function () {
            h.END = d.END, h.BEGIN = d.BEGIN, o = r([m.ENTER_JST, m.ENTER_TAG, m.TEXT, m.TAG_NAME, m.TAG_OPEN, m.TAG_CLOSE, m.TAG_PUNCHOR, m.TAG_ENTER_JST, m.TAG_UNQ_VALUE, m.TAG_STRING, m.TAG_SPACE, m.TAG_COMMENT, m.JST_OPEN, m.JST_CLOSE, m.JST_COMMENT, m.JST_EXPR_OPEN, m.JST_IDENT, m.JST_SPACE, m.JST_LEAVE, m.JST_NUMBER, m.JST_PUNCHOR, m.JST_STRING, m.JST_COMMENT]), c = r([m.ENTER_JST2, m.TEXT, m.JST_COMMENT, m.JST_OPEN, m.JST_CLOSE, m.JST_EXPR_OPEN, m.JST_IDENT, m.JST_SPACE, m.JST_LEAVE, m.JST_NUMBER, m.JST_PUNCHOR, m.JST_STRING, m.JST_COMMENT])
        };
        var m = {
            ENTER_JST: [/[^\x00<]*?(?={BEGIN})/, function (e) {
                return this.enter("JST"), e ? {type: "TEXT", value: e} : void 0
            }],
            ENTER_JST2: [/[^\x00]*?(?={BEGIN})/, function (e) {
                return this.enter("JST"), e ? {type: "TEXT", value: e} : void 0
            }],
            ENTER_TAG: [/[^\x00]*?(?=<[\w\/\!])/, function (e) {
                return this.enter("TAG"), e ? {type: "TEXT", value: e} : void 0
            }],
            TEXT: [/[^\x00]+/, "TEXT"],
            TAG_NAME: [/{NAME}/, "NAME", "TAG"],
            TAG_UNQ_VALUE: [/[^\{}&"'=><`\r\n\f\t ]+/, "UNQ", "TAG"],
            TAG_OPEN: [/<({NAME})\s*!/, function (e, t) {
                return {type: "TAG_OPEN", value: t}
            }, "TAG"],
            TAG_CLOSE: [/<\/({NAME})[\r\n\f\t ]*>/, function (e, t) {
                return this.leave(), {type: "TAG_CLOSE", value: t}
            }, "TAG"],
            TAG_ENTER_JST: [/(?={BEGIN})/, function () {
                this.enter("JST")
            }, "TAG"],
            TAG_PUNCHOR: [/[\>\/=&]/, function (e) {
                return ">" === e && this.leave(), {type: e, value: e}
            }, "TAG"],
            TAG_STRING: [/'([^']*)'|"([^"]*)\"/, function (e, t, i) {
                var n = t || i || "";
                return {type: "STRING", value: n}
            }, "TAG"],
            TAG_SPACE: [/{SPACE}+/, null, "TAG"],
            TAG_COMMENT: [/<\!--([^\x00]*?)--\>/, function () {
                this.leave()
            }, "TAG"],
            JST_OPEN: ["{BEGIN}#{SPACE}*({IDENT})", function (e, t) {
                return {type: "OPEN", value: t}
            }, "JST"],
            JST_LEAVE: [/{END}/, function (e) {
                return this.markEnd === e && this.expression ? {
                    type: this.markEnd,
                    value: this.markEnd
                } : this.markEnd && this.marks ? (this.marks--, {
                    type: this.markEnd,
                    value: this.markEnd
                }) : (this.firstEnterStart = !1, this.leave("JST"), {type: "END"})
            }, "JST"],
            JST_CLOSE: [/{BEGIN}\s*\/({IDENT})\s*{END}/, function (e, t) {
                return this.leave("JST"), {type: "CLOSE", value: t}
            }, "JST"],
            JST_COMMENT: [/{BEGIN}\!([^\x00]*?)\!{END}/, function () {
                this.leave()
            }, "JST"],
            JST_EXPR_OPEN: ["{BEGIN}", function (e) {
                if (e === this.markStart) {
                    if (this.expression) return {type: this.markStart, value: this.markStart};
                    if (this.firstEnterStart || this.marks) return this.marks++, this.firstEnterStart = !1, {
                        type: this.markStart,
                        value: this.markStart
                    };
                    this.firstEnterStart = !0
                }
                return {type: "EXPR_OPEN", escape: !1}
            }, "JST"],
            JST_IDENT: ["{IDENT}", "IDENT", "JST"],
            JST_SPACE: [/[ \r\n\f]+/, null, "JST"],
            JST_PUNCHOR: [/[=!]?==|[-=><+*\/%\!]?\=|\|\||&&|\@\(|\.\.|[<\>\[\]\(\)\-\|\{}\+\*\/%?:\.!,]/, function (e) {
                return {type: e, value: e}
            }, "JST"],
            JST_STRING: [/'([^']*)'|"([^"]*)"/, function (e, t, i) {
                return {type: "STRING", value: t || i || ""}
            }, "JST"],
            JST_NUMBER: [/(?:[0-9]*\.[0-9]+|[0-9]+)(e\d+)?/, function (e) {
                return {type: "NUMBER", value: parseFloat(e, 10)}
            }, "JST"]
        };
        s.setup(), e.exports = s
    }, function (e, t, i) {
        function n(e, t) {
            t = t || {}, this.input = e, this.tokens = new o(e, t).lex(), this.pos = 0, this.length = this.tokens.length
        }

        var s = i(5), r = i(2), a = i(26), o = i(11), c = s.varName, _ = s.ctxName, d = s.extName,
            f = s.makePredicate("STRING IDENT NUMBER"),
            h = s.makePredicate("true false undefined null this Array Date JSON Math NaN RegExp decodeURI decodeURIComponent encodeURI encodeURIComponent parseFloat parseInt Object"),
            l = n.prototype;
        l.parse = function () {
            this.pos = 0;
            var e = this.program();
            return "TAG_CLOSE" === this.ll().type && this.error("You may got a unclosed Tag"), e
        }, l.ll = function (e) {
            e = e || 1, 0 > e && (e += 1);
            var t = this.pos + e - 1;
            return t > this.length - 1 ? this.tokens[this.length - 1] : this.tokens[t]
        }, l.la = function (e) {
            return (this.ll(e) || "").type
        }, l.match = function (e, t) {
            var i;
            return (i = this.eat(e, t)) ? i : (i = this.ll(), void this.error("expect [" + e + (null == t ? "" : ":" + t) + ']" -> got "[' + i.type + (null == t ? "" : ":" + i.value) + "]", i.pos))
        }, l.error = function (e, t) {
            throw e = "\n【 parse failed 】 " + e + ":\n\n" + s.trackErrorPos(this.input, "number" == typeof t ? t : this.ll().pos || 0), new Error(e)
        }, l.next = function (e) {
            e = e || 1, this.pos += e
        }, l.eat = function (e, t) {
            var i = this.ll();
            if ("string" != typeof e) {
                for (var n = e.length; n--;) if (i.type === e[n]) return this.next(), i
            } else if (i.type === e && ("undefined" == typeof t || i.value === t)) return this.next(), i;
            return !1
        }, l.program = function () {
            for (var e = [], t = this.ll(); "EOF" !== t.type && "TAG_CLOSE" !== t.type;) e.push(this.statement()), t = this.ll();
            return e
        }, l.statement = function () {
            var e = this.ll();
            switch (e.type) {
                case"NAME":
                case"TEXT":
                    var t = e.value;
                    for (this.next(); e = this.eat(["NAME", "TEXT"]);) t += e.value;
                    return a.text(t);
                case"TAG_OPEN":
                    return this.xml();
                case"OPEN":
                    return this.directive();
                case"EXPR_OPEN":
                    return this.interplation();
                default:
                    this.error("Unexpected token: " + this.la())
            }
        }, l.xml = function () {
            var e, t, i, n;
            return e = this.match("TAG_OPEN").value, t = this.attrs(), n = this.eat("/"), this.match(">"), n || s.isVoidTag(e) || (i = this.program(), this.eat("TAG_CLOSE", e) || this.error("expect </" + e + "> gotno matched closeTag")), a.element(e, t, i)
        }, l.xentity = function (e) {
            var t, i, n = e.value;
            if ("NAME" === e.type) {
                if (~n.indexOf(".")) {
                    var s = n.split(".");
                    n = s[0], i = s[1]
                }
                return this.eat("=") && (t = this.attvalue(i)), a.attribute(n, t, i)
            }
            return "if" !== n && this.error("current version. ONLY RULE #if #else #elseif is valid in tag, the rule #" + n + " is invalid"), this["if"](!0)
        }, l.attrs = function (e) {
            var t;
            t = e ? ["NAME"] : ["NAME", "OPEN"];
            for (var i, n = []; i = this.eat(t);) n.push(this.xentity(i));
            return n
        }, l.attvalue = function (e) {
            var t = this.ll();
            switch (t.type) {
                case"NAME":
                case"UNQ":
                case"STRING":
                    this.next();
                    var i = t.value;
                    if (~i.indexOf(r.BEGIN) && ~i.indexOf(r.END) && "cmpl" !== e) {
                        var s = !0, o = new n(i, {mode: 2}).parse();
                        if (1 === o.length && "expression" === o[0].type) return o[0];
                        var c = [];
                        o.forEach(function (e) {
                            e.constant || (s = !1), c.push(e.body || "'" + e.text.replace(/'/g, "\\'") + "'")
                        }), c = "[" + c.join(",") + "].join('')", i = a.expression(c, null, s)
                    }
                    return i;
                case"EXPR_OPEN":
                    return this.interplation();
                default:
                    this.error("Unexpected token: " + this.la())
            }
        }, l.directive = function () {
            var e = this.ll().value;
            return this.next(), "function" == typeof this[e] ? this[e]() : void this.error("Undefined directive[" + e + "]")
        }, l.interplation = function () {
            this.match("EXPR_OPEN");
            var e = this.expression(!0);
            return this.match("END"), e
        }, l.inc = l.include = function () {
            var e = this.expression();
            return this.match("END"), a.template(e)
        }, l["if"] = function (e) {
            var t = this.expression(), i = [], n = [], s = i, r = e ? "attrs" : "statement";
            this.match("END");
            for (var o, c; !(c = this.eat("CLOSE"));) if (o = this.ll(), "OPEN" === o.type) switch (o.value) {
                case"else":
                    s = n, this.next(), this.match("END");
                    break;
                case"elseif":
                    return this.next(), n.push(this["if"](e)), a["if"](t, i, n);
                default:
                    s.push(this[r](!0))
            } else s.push(this[r](!0));
            return "if" !== c.value && this.error("Unmatched if directive"), a["if"](t, i, n)
        }, l.list = function () {
            var e, t, i, n = this.expression(), s = [], r = [], o = s;
            for (this.match("IDENT", "as"), e = this.match("IDENT").value, this.eat("IDENT", "by") && (this.eat("IDENT", e + "_index") ? i = !0 : (i = this.expression(), i.constant && (i = !0))), this.match("END"); !(t = this.eat("CLOSE"));) this.eat("OPEN", "else") ? (o = r, this.match("END")) : o.push(this.statement());
            return "list" !== t.value && this.error("expect list got /" + t.value + " ", t.pos), a.list(n, e, s, r, i)
        }, l.expression = function () {
            var e;
            return this.eat("@(") ? (e = this.expr(), e.once = !0, this.match(")")) : e = this.expr(), e
        }, l.expr = function () {
            this.depend = [];
            var e = this.filter(), t = e.get || e, i = e.set;
            return a.expression(t, i, !this.depend.length)
        }, l.filter = function () {
            var e, t, i, n = this.assign(), r = this.eat("|"), a = [], o = "t", c = n.set, d = "";
            if (r) {
                c && (e = []), t = "(function(" + o + "){";
                do d = o + " = " + _ + "._f_('" + this.match("IDENT").value + "' ).get.call( " + s.ctxName + "," + o, d += this.eat(":") ? ", " + this.arguments("|").join(",") + ");" : ");", a.push(d), e && e.unshift(d.replace(" ).get.call", " ).set.call")); while (r = this.eat("|"));
                return a.push("return " + o), e && e.push("return " + o), i = t + a.join("") + "})(" + n.get + ")", e && (c = c.replace(s.setName, t + e.join("") + "})(" + s.setName + ")")), this.getset(i, c)
            }
            return n
        }, l.assign = function () {
            var e, t = this.condition();
            return (e = this.eat(["=", "+=", "-=", "*=", "/=", "%="])) ? (t.set || this.error("invalid lefthand expression in assignment expression"), this.getset(t.set.replace("," + s.setName, "," + this.condition().get).replace("'='", "'" + e.type + "'"), t.set)) : t
        }, l.condition = function () {
            var e = this.or();
            return this.eat("?") ? this.getset([e.get + "?", this.assign().get, this.match(":").type, this.assign().get].join("")) : e
        }, l.or = function () {
            var e = this.and();
            return this.eat("||") ? this.getset(e.get + "||" + this.or().get) : e
        }, l.and = function () {
            var e = this.equal();
            return this.eat("&&") ? this.getset(e.get + "&&" + this.and().get) : e
        }, l.equal = function () {
            var e, t = this.relation();
            return (e = this.eat(["==", "!=", "===", "!=="])) ? this.getset(t.get + e.type + this.equal().get) : t
        }, l.relation = function () {
            var e, t = this.additive();
            return (e = this.eat(["<", ">", ">=", "<="]) || this.eat("IDENT", "in")) ? this.getset(t.get + e.value + this.relation().get) : t
        }, l.additive = function () {
            var e, t = this.multive();
            return (e = this.eat(["+", "-"])) ? this.getset(t.get + e.value + this.additive().get) : t
        }, l.multive = function () {
            var e, t = this.range();
            return (e = this.eat(["*", "/", "%"])) ? this.getset(t.get + e.type + this.multive().get) : t
        }, l.range = function () {
            var e, t, i = this.unary();
            if (e = this.eat("..")) {
                t = this.unary();
                var n = "(function(start,end){var res = [],step=end>start?1:-1; for(var i = start; end>start?i <= end: i>=end; i=i+step){res.push(i); } return res })(" + i.get + "," + t.get + ")";
                return this.getset(n)
            }
            return i
        }, l.unary = function () {
            var e;
            return (e = this.eat(["+", "-", "~", "!"])) ? this.getset("(" + e.type + this.unary().get + ")") : this.member()
        }, l.member = function (e, t, i, n) {
            var r, a, o, h = !1;
            if (e) "string" == typeof t && f(t) ? i.push(t) : (i && i.length && this.depend.push(i), i = null); else {
                a = this.primary();
                var l = typeof a;
                "string" === l ? (i = [], i.push(a), t = a, o = d + "." + a, e = _ + "._sg_('" + a + "', " + c + ", " + d + ")", h = !0) : "this" === a.get ? (e = _, i = ["this"]) : (i = null, e = a.get)
            }
            if (r = this.eat(["[", ".", "("])) switch (r.type) {
                case".":
                    var u = this.match("IDENT").value;
                    return n = e, "(" !== this.la() ? e = _ + "._sg_('" + u + "', " + e + ")" : e += "['" + u + "']", this.member(e, u, i, n);
                case"[":
                    return a = this.assign(), n = e, "(" !== this.la() ? e = _ + "._sg_(" + a.get + ", " + e + ")" : e += "[" + a.get + "]", this.match("]"), this.member(e, a, i, n);
                case"(":
                    var p = this.arguments().join(",");
                    return e = e + "(" + p + ")", this.match(")"), this.member(e, null, i)
            }
            i && i.length && this.depend.push(i);
            var m = {get: e};
            return t && (m.set = _ + "._ss_(" + (t.get ? t.get : "'" + t + "'") + "," + s.setName + "," + (n ? n : s.varName) + ", '=', " + (h ? 1 : 0) + ")"), m
        }, l.arguments = function (e) {
            e = e || ")";
            var t = [];
            do this.la() !== e && t.push(this.assign().get); while (this.eat(","));
            return t
        }, l.primary = function () {
            var e = this.ll();
            switch (e.type) {
                case"{":
                    return this.object();
                case"[":
                    return this.array();
                case"(":
                    return this.paren();
                case"STRING":
                    return this.next(), this.getset("'" + e.value + "'");
                case"NUMBER":
                    return this.next(), this.getset("" + e.value);
                case"IDENT":
                    return this.next(), h(e.value) ? this.getset(e.value) : e.value;
                default:
                    this.error("Unexpected Token: " + e.type)
            }
        }, l.object = function () {
            for (var e = [this.match("{").type], t = this.eat(["STRING", "IDENT", "NUMBER"]); t;) {
                e.push("'" + t.value + "'" + this.match(":").type);
                var i = this.assign().get;
                e.push(i), t = null, this.eat(",") && (t = this.eat(["STRING", "IDENT", "NUMBER"])) && e.push(",")
            }
            return e.push(this.match("}").type), {get: e.join("")}
        }, l.array = function () {
            var e, t = [this.match("[").type];
            if (this.eat("]")) t.push("]"); else {
                for (; (e = this.assign()) && (t.push(e.get), this.eat(","));) t.push(",");
                t.push(this.match("]").type)
            }
            return {get: t.join("")}
        }, l.paren = function () {
            this.match("(");
            var e = this.filter();
            return e.get = "(" + e.get + ")", this.match(")"), e
        }, l.getset = function (e, t) {
            return {get: e, set: t}
        }, e.exports = n
    }, function (e, t, i) {
        function n(e, t, i) {
            return function () {
                var n = this.supr;
                this.supr = i[e];
                var s = t.apply(this, arguments);
                return this.supr = n, s
            }
        }

        function s(e, t, i) {
            for (var s in t) t.hasOwnProperty(s) && (e[s] = o(t[s]) && o(i[s]) && a.test(t[s]) ? n(s, t[s], i) : t[s])
        }

        var r = i(5), a = /xy/.test(function () {
            "xy"
        }) ? /\bsupr\b/ : /.*/, o = function (e) {
            return "function" == typeof e
        }, c = ["events", "data", "computed"], _ = c.length;
        e.exports = function d(e) {
            function t() {
                a.apply(this, arguments)
            }

            function i(e) {
                for (var t = _; t--;) {
                    var i = c[t];
                    e.hasOwnProperty(i) && n.hasOwnProperty(i) && (r.extend(n[i], e[i], !0), delete e[i])
                }
                return s(n, e, o), this
            }

            e = e || {};
            var n, a = this, o = a && a.prototype || {};
            return "function" == typeof e ? (n = e.prototype, e.implement = i, e.extend = d, e) : (n = r.createProto(t, o), t.implement = i, t.implement(e), a.__after__ && a.__after__.call(t, a, e), t.extend = d, t)
        }
    }, function (e, t, i) {
        var n = i(4), s = i(21), r = e.exports = {
            node: function (e) {
                var t, i, n;
                if (e) {
                    if (e.element) return e.element;
                    if ("function" == typeof e.node) return e.node();
                    if ("number" == typeof e.nodeType) return e;
                    if (e.group) return r.node(e.group);
                    if (t = e.children) {
                        if (1 === t.length) return r.node(t[0]);
                        n = [];
                        for (var s = 0, a = t.length; a > s; s++) i = r.node(t[s]), Array.isArray(i) ? n.push.apply(n, i) : i && n.push(i);
                        return n
                    }
                }
            }, inject: function (e, t) {
                var i = this, a = r.node(i.group || i);
                if (e === !1) return s.remove(a), i;
                if (!a) return i;
                if ("string" == typeof e && (e = n.find(e)), !e) throw Error("injected node is not found");
                if (s.inject(a, e, t), i.$emit) {
                    var o = i.parentNode, c = "after" === t || "before" === t ? e.parentNode : e;
                    i.parentNode = c, i.$emit("$inject", e, t, o)
                }
                return i
            }, last: function (e) {
                var t = e.children;
                return "function" == typeof e.last ? e.last() : "number" == typeof e.nodeType ? e : t && t.length ? r.last(t[t.length - 1]) : e.group ? r.last(e.group) : void 0
            }, destroy: function (e, t) {
                if (e) {
                    if (Array.isArray(e)) for (var i = 0, s = e.length; s > i; i++) r.destroy(e[i], t);
                    var a = e.children;
                    if ("function" == typeof e.destroy) return e.destroy(t);
                    "number" == typeof e.nodeType && t && n.remove(e), a && a.length && (r.destroy(a, !0), e.children = null)
                }
            }
        };
        n.element = function (e, t) {
            if (!e) return t ? [] : null;
            var i = r.node(e);
            if (1 === i.nodeType) return t ? [i] : i;
            for (var n = [], s = 0; s < i.length; s++) {
                var a = i[s];
                if (a && 1 === a.nodeType) {
                    if (!t) return a;
                    n.push(a)
                }
            }
            return t ? n : n[0]
        }
    }, function (e, t, i) {
        function n() {
        }

        var s = [].slice, r = i(5), a = {
            $on: function (e, t) {
                if ("object" == typeof e) for (var i in e) this.$on(i, e[i]); else {
                    var n = this, s = n._handles || (n._handles = {}), r = s[e] || (s[e] = []);
                    r.push(t)
                }
                return this
            }, $off: function (e, t) {
                var i = this;
                if (i._handles) {
                    e || (this._handles = {});
                    var n, s = i._handles;
                    if (n = s[e]) {
                        if (!t) return s[e] = [], i;
                        for (var r = 0, a = n.length; a > r; r++) if (t === n[r]) return n.splice(r, 1), i
                    }
                    return i
                }
            }, $emit: function (e) {
                var t, i, n, r = this, a = r._handles;
                if (e) {
                    var i = s.call(arguments, 1), n = e;
                    if (!a) return r;
                    if (t = a[n.slice(1)]) for (var o = 0, c = t.length; c > o; o++) t[o].apply(r, i);
                    if (!(t = a[n])) return r;
                    for (var _ = 0, c = t.length; c > _; _++) t[_].apply(r, i);
                    return r
                }
            }, $one: function () {
            }
        };
        r.extend(n.prototype, a), n.mixTo = function (e) {
            e = "function" == typeof e ? e.prototype : e, r.extend(e, a)
        }, e.exports = n
    }, function (e, t, i) {
        function n() {
        }

        var s = i(5), r = i(17).expression, a = i(25), o = a.diffArray, c = a.diffObject, _ = {
            $watch: function (e, t, i) {
                var n, a, o, c, _ = this.__ext__;
                this._watchers || (this._watchers = []), i = i || {}, i === !0 && (i = {deep: !0});
                var d = s.uid("w_");
                if (Array.isArray(e)) {
                    for (var f = [], h = 0, l = e.length; l > h; h++) f.push(this.$expression(e[h]).get);
                    var u = [];
                    o = function (e) {
                        for (var t = !0, i = 0, n = f.length; n > i; i++) {
                            var r = f[i](e, _);
                            s.equals(r, u[i]) || (t = !1, u[i] = s.clone(r))
                        }
                        return t ? !1 : u
                    }
                } else "function" == typeof e ? n = e.bind(this) : (e = this._touchExpr(r(e)), n = e.get, a = e.once);
                var p = {
                    id: d,
                    get: n,
                    fn: t,
                    once: a,
                    force: i.force,
                    diff: i.diff,
                    test: o,
                    deep: i.deep,
                    last: i.sync ? n(this) : i.last
                };
                if (this._watchers.push(p), c = this._records && this._records.length, c && this._records[c - 1].push(d), i.init === !0) {
                    var m = this.$phase;
                    this.$phase = "digest", this._checkSingleWatch(p, this._watchers.length - 1), this.$phase = m
                }
                return p
            }, $unwatch: function (e) {
                if (e = e.uid || e, this._watchers || (this._watchers = []), Array.isArray(e)) for (var t = 0, i = e.length; i > t; t++) this.$unwatch(e[t]); else {
                    var n, s, r = this._watchers;
                    if (!e || !r || !(s = r.length)) return;
                    for (; s--;) n = r[s], n && n.id === e && r.splice(s, 1)
                }
            }, $expression: function (e) {
                return this._touchExpr(r(e))
            }, $digest: function () {
                if ("digest" !== this.$phase && !this._mute) {
                    this.$phase = "digest";
                    for (var e = !1, t = 0; e = this._digest();) if (++t > 20) throw Error("there may a circular dependencies reaches");
                    t > 0 && this.$emit && this.$emit("$update"), this.$phase = null
                }
            }, _digest: function () {
                var e, t, i, n = this._watchers, s = !1;
                if (n && n.length) for (var r = 0, a = n.length; a > r; r++) t = n[r], i = this._checkSingleWatch(t, r), i && (s = !0);
                if (e = this._children, e && e.length) for (var o = 0, c = e.length; c > o; o++) {
                    var _ = e[o];
                    _ && _._digest() && (s = !0)
                }
                return s
            }, _checkSingleWatch: function (e, t) {
                var i = !1;
                if (e) {
                    var n, r, a, _, d, f;
                    if (e.test) {
                        var h = e.test(this);
                        h && (i = !0, e.fn.apply(this, h))
                    } else n = e.get(this), r = e.last, a = s.typeOf(r), _ = s.typeOf(n), d = !0, f, "object" === _ && "object" === a && e.deep ? (f = c(n, r, e.diff), (f === !0 || f.length) && (i = !0)) : "array" !== _ || "undefined" != a && "array" !== a ? (d = s.equals(n, r), (!d || e.force) && (e.force = null, i = !0)) : (f = o(n, e.last || [], e.diff), ("array" !== a || f === !0 || f.length) && (i = !0));
                    return i && !e.test && (e.last = "object" === _ && e.deep || "array" === _ ? s.clone(n) : n, e.fn.call(this, n, r, f), e.once && this._watchers.splice(t, 1)), i
                }
            }, $set: function (e, t) {
                if (null != e) {
                    var i = s.typeOf(e);
                    if ("string" === i || "expression" === e.type) e = this.$expression(e), e.set(this, t); else if ("function" === i) e.call(this, this.data); else for (var n in e) this.$set(n, e[n])
                }
            }, $get: function (e, t) {
                return t && "string" == typeof e ? e : this.$expression(e).get(this)
            }, $update: function () {
                var e = this;
                do {
                    if (e.data.isolate || !e.$parent) break;
                    e = e.$parent
                } while (e);
                var t = e.$phase;
                return e.$phase = "digest", this.$set.apply(this, arguments), e.$phase = t, e.$digest(), this
            }, _record: function () {
                this._records || (this._records = []), this._records.push([])
            }, _release: function () {
                return this._records.pop()
            }
        };
        s.extend(n.prototype, _), n.mixTo = function (e) {
            return e = "function" == typeof e ? e.prototype : e, s.extend(e, _)
        }, e.exports = n
    }, function (e, t, i) {
        var n = i(1).exprCache, s = (i(5), i(12));
        e.exports = {
            expression: function (e) {
                return "string" == typeof e && (e = e.trim()) && (e = n.get(e) || n.set(e, new s(e, {
                    mode: 2,
                    expression: !0
                }).expression())), e ? e : void 0
            }, parse: function (e) {
                return new s(e).parse()
            }
        }
    }, function (e) {
        var t = e.exports = {};
        t.json = {
            get: function (e) {
                return "undefined" != typeof JSON ? JSON.stringify(e) : e
            }, set: function (e) {
                return "undefined" != typeof JSON ? JSON.parse(e) : e
            }
        }, t.last = function (e) {
            return e && e[e.length - 1]
        }, t.average = function (e, i) {
            return e = e || [], e.length ? t.total(e, i) / e.length : 0
        }, t.total = function (e, t) {
            var i = 0;
            if (e) return e.forEach(function (e) {
                i += t ? e[t] : e
            }), i
        }
    }, function (e) {
        function t(e, t) {
            for (var i in t) void 0 === e[i] && (e[i] = t[i]);
            return t
        }

        var i = [].slice, n = {}.toString;
        e.exports = function () {
            t(String.prototype, {
                trim: function () {
                    return this.replace(/^\s+|\s+$/g, "")
                }
            }), t(Array.prototype, {
                indexOf: function (e, t) {
                    t = t || 0;
                    for (var i = t, n = this.length; n > i; i++) if (this[i] === e) return i;
                    return -1
                }, forEach: function (e, t) {
                    var i = 0, n = Object(this), s = n.length >>> 0;
                    if ("function" != typeof e) throw new TypeError(e + " is not a function");
                    for (; s > i;) {
                        var r;
                        i in n && (r = n[i], e.call(t, r, i, n)), i++
                    }
                }, filter: function (e, t) {
                    var i = Object(this), n = i.length >>> 0;
                    if ("function" != typeof e) throw new TypeError;
                    for (var s = [], r = 0; n > r; r++) if (r in i) {
                        var a = i[r];
                        e.call(t, a, r, i) && s.push(a)
                    }
                    return s
                }
            }), t(Function.prototype, {
                bind: function (e) {
                    var t = this, n = i.call(arguments, 1);
                    return function () {
                        var s = n.concat(i.call(arguments));
                        return t.apply(e, s)
                    }
                }
            }), t(Array, {
                isArray: function (e) {
                    return "[object Array]" === n.call(e)
                }
            })
        }
    }, function (e) {
        var t = {
            quot: 34,
            amp: 38,
            apos: 39,
            lt: 60,
            gt: 62,
            nbsp: 160,
            iexcl: 161,
            cent: 162,
            pound: 163,
            curren: 164,
            yen: 165,
            brvbar: 166,
            sect: 167,
            uml: 168,
            copy: 169,
            ordf: 170,
            laquo: 171,
            not: 172,
            shy: 173,
            reg: 174,
            macr: 175,
            deg: 176,
            plusmn: 177,
            sup2: 178,
            sup3: 179,
            acute: 180,
            micro: 181,
            para: 182,
            middot: 183,
            cedil: 184,
            sup1: 185,
            ordm: 186,
            raquo: 187,
            frac14: 188,
            frac12: 189,
            frac34: 190,
            iquest: 191,
            Agrave: 192,
            Aacute: 193,
            Acirc: 194,
            Atilde: 195,
            Auml: 196,
            Aring: 197,
            AElig: 198,
            Ccedil: 199,
            Egrave: 200,
            Eacute: 201,
            Ecirc: 202,
            Euml: 203,
            Igrave: 204,
            Iacute: 205,
            Icirc: 206,
            Iuml: 207,
            ETH: 208,
            Ntilde: 209,
            Ograve: 210,
            Oacute: 211,
            Ocirc: 212,
            Otilde: 213,
            Ouml: 214,
            times: 215,
            Oslash: 216,
            Ugrave: 217,
            Uacute: 218,
            Ucirc: 219,
            Uuml: 220,
            Yacute: 221,
            THORN: 222,
            szlig: 223,
            agrave: 224,
            aacute: 225,
            acirc: 226,
            atilde: 227,
            auml: 228,
            aring: 229,
            aelig: 230,
            ccedil: 231,
            egrave: 232,
            eacute: 233,
            ecirc: 234,
            euml: 235,
            igrave: 236,
            iacute: 237,
            icirc: 238,
            iuml: 239,
            eth: 240,
            ntilde: 241,
            ograve: 242,
            oacute: 243,
            ocirc: 244,
            otilde: 245,
            ouml: 246,
            divide: 247,
            oslash: 248,
            ugrave: 249,
            uacute: 250,
            ucirc: 251,
            uuml: 252,
            yacute: 253,
            thorn: 254,
            yuml: 255,
            fnof: 402,
            Alpha: 913,
            Beta: 914,
            Gamma: 915,
            Delta: 916,
            Epsilon: 917,
            Zeta: 918,
            Eta: 919,
            Theta: 920,
            Iota: 921,
            Kappa: 922,
            Lambda: 923,
            Mu: 924,
            Nu: 925,
            Xi: 926,
            Omicron: 927,
            Pi: 928,
            Rho: 929,
            Sigma: 931,
            Tau: 932,
            Upsilon: 933,
            Phi: 934,
            Chi: 935,
            Psi: 936,
            Omega: 937,
            alpha: 945,
            beta: 946,
            gamma: 947,
            delta: 948,
            epsilon: 949,
            zeta: 950,
            eta: 951,
            theta: 952,
            iota: 953,
            kappa: 954,
            lambda: 955,
            mu: 956,
            nu: 957,
            xi: 958,
            omicron: 959,
            pi: 960,
            rho: 961,
            sigmaf: 962,
            sigma: 963,
            tau: 964,
            upsilon: 965,
            phi: 966,
            chi: 967,
            psi: 968,
            omega: 969,
            thetasym: 977,
            upsih: 978,
            piv: 982,
            bull: 8226,
            hellip: 8230,
            prime: 8242,
            Prime: 8243,
            oline: 8254,
            frasl: 8260,
            weierp: 8472,
            image: 8465,
            real: 8476,
            trade: 8482,
            alefsym: 8501,
            larr: 8592,
            uarr: 8593,
            rarr: 8594,
            darr: 8595,
            harr: 8596,
            crarr: 8629,
            lArr: 8656,
            uArr: 8657,
            rArr: 8658,
            dArr: 8659,
            hArr: 8660,
            forall: 8704,
            part: 8706,
            exist: 8707,
            empty: 8709,
            nabla: 8711,
            isin: 8712,
            notin: 8713,
            ni: 8715,
            prod: 8719,
            sum: 8721,
            minus: 8722,
            lowast: 8727,
            radic: 8730,
            prop: 8733,
            infin: 8734,
            ang: 8736,
            and: 8743,
            or: 8744,
            cap: 8745,
            cup: 8746,
            "int": 8747,
            there4: 8756,
            sim: 8764,
            cong: 8773,
            asymp: 8776,
            ne: 8800,
            equiv: 8801,
            le: 8804,
            ge: 8805,
            sub: 8834,
            sup: 8835,
            nsub: 8836,
            sube: 8838,
            supe: 8839,
            oplus: 8853,
            otimes: 8855,
            perp: 8869,
            sdot: 8901,
            lceil: 8968,
            rceil: 8969,
            lfloor: 8970,
            rfloor: 8971,
            lang: 9001,
            rang: 9002,
            loz: 9674,
            spades: 9824,
            clubs: 9827,
            hearts: 9829,
            diams: 9830,
            OElig: 338,
            oelig: 339,
            Scaron: 352,
            scaron: 353,
            Yuml: 376,
            circ: 710,
            tilde: 732,
            ensp: 8194,
            emsp: 8195,
            thinsp: 8201,
            zwnj: 8204,
            zwj: 8205,
            lrm: 8206,
            rlm: 8207,
            ndash: 8211,
            mdash: 8212,
            lsquo: 8216,
            rsquo: 8217,
            sbquo: 8218,
            ldquo: 8220,
            rdquo: 8221,
            bdquo: 8222,
            dagger: 8224,
            Dagger: 8225,
            permil: 8240,
            lsaquo: 8249,
            rsaquo: 8250,
            euro: 8364
        };
        e.exports = t
    }, function (e, t, i) {
        function n(e) {
            var t, i = 0, n = 0, r = 0, a = 0, o = 0, c = 5 / 3;
            return window.getComputedStyle && (t = window.getComputedStyle(e), n = s(t[f + "Duration"]) || n, r = s(t[f + "Delay"]) || r, a = s(t[h + "Duration"]) || a, o = s(t[h + "Delay"]) || o, i = Math.max(n + r, a + o)), 1e3 * i * c
        }

        function s(e) {
            var t, i = 0;
            return e ? (e.split(",").forEach(function (e) {
                t = parseFloat(e), t > i && (i = t)
            }), i) : 0
        }

        var r = i(5), a = i(4), o = {}, c = i(1), _ = "transitionend", d = "animationend", f = "transition",
            h = "animation";
        "ontransitionend" in window || ("onwebkittransitionend" in window ? (_ += " webkitTransitionEnd", f = "webkitTransition") : ("onotransitionend" in a.tNode || "Opera" === navigator.appName) && (_ += " oTransitionEnd", f = "oTransition")), "onanimationend" in window || ("onwebkitanimationend" in window ? (d += " webkitAnimationEnd", h = "webkitAnimation") : "onoanimationend" in a.tNode && (d += " oAnimationEnd", h = "oAnimation")), o.inject = function (e, t, i, n) {
            if (n = n || r.noop, Array.isArray(e)) {
                for (var s = a.fragment(), o = 0, c = 0, _ = e.length; _ > c; c++) s.appendChild(e[c]);
                a.inject(s, t, i);
                var d = function () {
                    o++, o === _ && n()
                };
                for (_ === o && n(), c = 0; _ > c; c++) e[c].onenter ? e[c].onenter(d) : d()
            } else a.inject(e, t, i), e.onenter ? e.onenter(n) : n()
        }, o.remove = function (e, t) {
            function i() {
                n++, n === r && t && t()
            }

            if (e) {
                var n = 0;
                if (Array.isArray(e)) {
                    for (var s = 0, r = e.length; r > s; s++) o.remove(e[s], i);
                    return e
                }
                e.onleave ? e.onleave(function () {
                    l(e, t)
                }) : l(e, t)
            }
        };
        var l = function (e, t) {
            a.remove(e), t && t()
        };
        o.startClassAnimate = function (e, t, i, s) {
            var o, f, h, l;
            return !d && !_ || c.isRunning ? i() : (l = r.once(4 !== s ? function () {
                h && clearTimeout(h), 2 === s && a.delClass(e, o), 3 !== s && a.delClass(e, t), a.off(e, d, l), a.off(e, _, l), i()
            } : function () {
                h && clearTimeout(h), i()
            }), 2 === s ? (a.addClass(e, t), o = r.map(t.split(/\s+/), function (e) {
                return e + "-active"
            }).join(" "), a.nextReflow(function () {
                a.addClass(e, o), f = n(e), h = setTimeout(l, f)
            })) : a.nextReflow(4 === s ? function () {
                a.delClass(e, t), f = n(e), h = setTimeout(l, f)
            } : function () {
                a.addClass(e, t), f = n(e), h = setTimeout(l, f)
            }), a.on(e, d, l), a.on(e, _, l), l)
        }, o.startStyleAnimate = function (e, t, i) {
            var s, o, c;
            return a.nextReflow(function () {
                a.css(e, t), s = n(e), c = setTimeout(o, s)
            }), o = r.once(function () {
                c && clearTimeout(c), a.off(e, d, o), a.off(e, _, o), i()
            }), a.on(e, d, o), a.on(e, _, o), o
        }, e.exports = o
    }, function (e) {
        e.exports = {COMPONENT_TYPE: 1, ELEMENT_TYPE: 2}
    }, function (e, t, i) {
        function n(e, t, i) {
            if (i) for (var n, s = e.target; s && s !== i;) {
                for (var r = 0, a = t.length; a > r; r++) n = t[r], n && n.element === s && n.fire(e);
                s = s.parentNode
            }
        }

        var s = i(5), r = i(4), a = i(3);
        a._addProtoInheritCache("event"), a.directive(/^on-\w+$/, function (e, t, i, n) {
            if (i && t) {
                var s = i.split("-")[1];
                return this._handleEvent(e, s, t, n)
            }
        }), a.directive(/^(delegate|de)-\w+$/, function (e, t, i) {
            function a(e) {
                n(e, c[_], o.parentNode)
            }

            var o = this.$root, c = o._delegates || (o._delegates = {});
            if (i && t) {
                var _ = i.split("-")[1], d = s.handleEvent.call(this, t, _);
                c[_] || (c[_] = [], o.parentNode ? r.on(o.parentNode, _, a) : o.$on("$inject", function (e, t, i) {
                    var n = this.parentNode;
                    i && r.off(i, _, a), n && r.on(this.parentNode, _, a)
                }), o.$on("$destroy", function () {
                    o.parentNode && r.off(o.parentNode, _, a), c[_] = null
                }));
                var f = {element: e, fire: d};
                return c[_].push(f), function () {
                    var e = c[_];
                    if (e && e.length) for (var t = 0, i = e.length; i > t; t++) e[t] === f && e.splice(t, 1)
                }
            }
        })
    }, function (e, t, i) {
        function n(e, t) {
            function i() {
                t.set(n, this.value), s.last = this.value, n.$update()
            }

            var n = this, s = this.$watch(t, function (t) {
                var i = o.slice(e.getElementsByTagName("option"));
                i.forEach(function (i, n) {
                    i.value == t && (e.selectedIndex = n)
                })
            });
            return c.on(e, "change", i), void 0 === t.get(n) && e.value && t.set(n, e.value), function () {
                c.off(e, "change", i)
            }
        }

        function s(e, t) {
            var i = this, n = this.$watch(t, function (t) {
                e.value !== t && (e.value = null == t ? "" : "" + t)
            }), s = function (e) {
                var s = this;
                if ("cut" === e.type || "paste" === e.type) o.nextTick(function () {
                    var e = s.value;
                    t.set(i, e), n.last = e, i.$update()
                }); else {
                    var r = s.value;
                    t.set(i, r), n.last = r, i.$update()
                }
            };
            return 9 !== c.msie && "oninput" in c.tNode ? e.addEventListener("input", s) : (c.on(e, "paste", s), c.on(e, "keyup", s), c.on(e, "cut", s), c.on(e, "change", s)), void 0 === t.get(i) && e.value && t.set(i, e.value), function () {
                9 !== c.msie && "oninput" in c.tNode ? e.removeEventListener("input", s) : (c.off(e, "paste", s), c.off(e, "keyup", s), c.off(e, "cut", s), c.off(e, "change", s))
            }
        }

        function r(e, t) {
            var i = this, n = this.$watch(t, function (t) {
                c.attr(e, "checked", !!t)
            }), s = function () {
                var e = this.checked;
                t.set(i, e), n.last = e, i.$update()
            };
            return t.set && c.on(e, "change", s), void 0 === t.get(i) && t.set(i, !!e.checked), function () {
                t.set && c.off(e, "change", s)
            }
        }

        function a(e, t) {
            var i = this, n = (this.$watch(t, function (t) {
                e.checked = t == e.value ? !0 : !1
            }), function () {
                var e = this.value;
                t.set(i, e), i.$update()
            });
            return t.set && c.on(e, "change", n), void 0 === t.get(i) && e.checked && t.set(i, e.value), function () {
                t.set && c.off(e, "change", n)
            }
        }

        var o = i(5), c = i(4), _ = i(3), d = {text: s, select: n, checkbox: r, radio: a};
        _.directive("r-model", function (e, t) {
            var i = e.tagName.toLowerCase(), n = i;
            return "input" === n ? n = e.type || "text" : "textarea" === n && (n = "text"), "string" == typeof t && (t = this.$expression(t)), d[n] ? d[n].call(this, e, t) : "input" === i ? d.text.call(this, e, t) : void 0
        })
    }, function (e, t, i) {
        function n(e, t) {
            var i = e.length, n = t.length;
            if (i !== n) return !0;
            for (var s = 0; i > s; s++) if (e[s] !== t[s]) return !0;
            return !1
        }

        function s(e, t) {
            return e === t
        }

        function r(e, t, i) {
            for (var n = e.length, r = t.length, i = i || s, a = [], o = 0; n >= o; o++) a.push([o]);
            for (var c = 1; r >= c; c++) a[0][c] = c;
            for (var o = 1; n >= o; o++) for (var c = 1; r >= c; c++) a[o][c] = i(e[o - 1], t[c - 1]) ? a[o - 1][c - 1] : Math.min(a[o - 1][c] + 1, a[o][c - 1] + 1);
            return a
        }

        function a(e, t, i, s) {
            if (!i) return n(e, t);
            for (var a = r(t, e, s), o = t.length, c = o, _ = e.length, d = _, f = [], h = a[c][d]; c > 0 || d > 0;) if (0 !== c) if (0 !== d) {
                var l = a[c - 1][d - 1], u = a[c - 1][d], p = a[c][d - 1], m = Math.min(p, u, l);
                m === u ? (f.unshift(2), c--, h = u) : m === l ? (l === h ? f.unshift(0) : (f.unshift(1), h = l), c--, d--) : (f.unshift(3), d--, h = p)
            } else f.unshift(2), c--; else f.unshift(3), d--;
            var v = 0, g = 3, b = 2, $ = 1, o = 0;
            _ = 0;
            for (var N = [], A = {
                index: null,
                add: 0,
                removed: []
            }, c = 0; c < f.length; c++) switch (f[c] > 0 ? null === A.index && (A.index = _) : null != A.index && (N.push(A), A = {
                index: null,
                add: 0,
                removed: []
            }), f[c]) {
                case v:
                    o++, _++;
                    break;
                case g:
                    A.add++, _++;
                    break;
                case b:
                    A.removed.push(t[o]), o++;
                    break;
                case $:
                    A.add++, A.removed.push(t[o]), o++, _++
            }
            return null != A.index && N.push(A), N
        }

        function o(e, t, i) {
            if (i) {
                var n = c.keys(e), s = c.keys(t);
                return a(n, s, i, function (i, n) {
                    return e[n] === t[i]
                })
            }
            for (var r in e) if (t[r] !== e[r]) return !0;
            for (var o in t) if (t[o] !== e[o]) return !0;
            return !1
        }

        var c = i(5);
        e.exports = {diffArray: a, diffObject: o}
    }, function (e) {
        e.exports = {
            element: function (e, t, i) {
                return {type: "element", tag: e, attrs: t, children: i}
            }, attribute: function (e, t, i) {
                return {type: "attribute", name: e, value: t, mdf: i}
            }, "if": function (e, t, i) {
                return {type: "if", test: e, consequent: t, alternate: i}
            }, list: function (e, t, i, n, s) {
                return {type: "list", sequence: e, alternate: n, variable: t, body: i, track: s}
            }, expression: function (e, t, i) {
                return {type: "expression", body: e, constant: i || !1, setbody: t || !1}
            }, text: function (e) {
                return {type: "text", text: e}
            }, template: function (e) {
                return {type: "template", content: e}
            }
        }
    }])
});
/*I$("caaecd3c396a93b245bbd554253cba73", function (e, t, i, n, s, r, a, o, c, _, d) {
    var f = function (e, t) {
        t.data["MGID"] = window.mgid;
        t.data["URS-CM"] = 1;
        a._$postMessage(e, t)
    };
    var h = function () {
        var e = document.body.scrollWidth, t = document.body.clientHeight, i = {width: e, height: t, type: "resize"};
        if (e * t > 0) f("_parent", {data: i})
    };
    var l = Regular.extend({
        data: {}, config: function (e) {
            t._$merge(this.data, e || {});
            this.supr(e);
            if (this.data.productKey) this.data.productkey = this.data.productKey
        }, init: function (e) {
            this.supr(e)
        }, _findErrorIndex: function () {
            var e = 100;
            t._$forIn(this.errorIndexMap, function (t) {
                if (t <= e && t >= 0) e = t
            }._$bind(this));
            this.errorIndex = e
        }, _addIframe: function (e, t) {
            if ("https:" == location.protocol) t = t.replace("http:", "https:");
            var n = "register-success" == e.type ? 0 : 1;
            if (n) {
                t = r._$addPathB(t);
                if (window._$URSOPT.opd) t = t + (t.indexOf("?") >= 0 ? "&" : "?") + "opd=" + window._$URSOPT.opd;
                if (window._$URSOPT.opkid) t = t + (t.indexOf("?") >= 0 ? "&" : "?") + "opkid=" + window._$URSOPT.opkid
            }
            i._$createXFrame({
                src: t, parent: document.body, visible: !1, onload: function () {
                    this.__iframeIndex++;
                    if (this.__ifarmeSize == this.__iframeIndex) {
                        this.__iframeCt = clearTimeout(this.__iframeCt);
                        this._$sendMsg(e)
                    }
                }._$bind(this)
            })
        }, _$sendMsg: function (e) {
            if ("reg" == this.data.module) this.doUnlockReg && this.doUnlockReg();
            if ("login" == this.data.module) this.doUnlockLogin && this.doUnlockLogin();
            if ("uniteLogin" == this.data.module) this.doUniteLoginUnLock && this.doUniteLoginUnLock();
            if (window.$outLoginKey && "success" == e.type) e.fromOutLogin = 1;
            f("_parent", {data: e})
        }, _$setDomains: function (e) {
            var i = e || {};
            this.__iframeIndex = 0;
            var n = i.nextUrls || [];
            this.__ifarmeSize = n.length || 0;
            if (this.__ifarmeSize > 0) this.__iframeCt = setTimeout(function () {
                this._$sendMsg(i)
            }._$bind(this), 5e3); else this._$sendMsg(i);
            t._$forEach(n, this._addIframe._$bind(this, i))
        }, _$doShowError: function (e) {
            var t = e.type || "", n = e.target, a = i._$get(e.node), o = e.str || "请求错误", c = i._$get("cnt-box-parent"),
                _ = e.tabIndex;
            if (3 != window._$URSOPT.version || "popup" != window._$URSOPT.mode || o != window._$capTxt1 && o != window._$capTxt2) if (1 != window._$needCookieSet || o.indexOf("开启浏览器cookies") != -1) {
                if (o.indexOf("点此进行安全登录") > -1) _ = 99;
                if (!(o.indexOf("网络不好") >= 0)) {
                    var d = n && r._$getParent(n, "inputbox");
                    if (d) i._$addClassName(d, "error-color");
                    this.errorIndexMap[_] = _;
                    if (a && (this.errorIndex == -1 || _ <= this.errorIndex)) {
                        this.errorIndex = _;
                        a.innerHTML = s._$get("error-tmp", {str: o || "", type: t});
                        a.className = "m-nerror"
                    }
                    i._$addClassName(c, "haserr");
                    h()
                } else {
                    r._$showFail(-1);
                    h()
                }
            }
        }, _$removeError: function (e) {
            var t = i._$get("cnt-box-parent"), n = e.target, s = n && r._$getParent(n, "inputbox"), a = i._$get(e.node),
                o = e.tabIndex;
            if (!window._$needCookieSet) {
                if (s) i._$delClassName(s, "error-color");
                if (this.errorIndex == o || this.errorIndex == -1) i._$addClassName(a, "f-dn");
                delete this.errorIndexMap[o];
                this._findErrorIndex();
                i._$delClassName(t, "haserr");
                h()
            }
        }, _$resize: function () {
            h()
        }, _$postMessage: function (e) {
            f("_parent", {data: e})
        }, destroyNewCap: function () {
            this.__needPopup = 1;
            this.data.hasSlide = 0;
            this.data.hasImgCap = 0;
            this.$refs.slidecap && this.$refs.slidecap._$destroyNewCap();
            if (this.$refs.slidecap) this.$refs.slidecap.destroy();
            this.$refs.slidecap = null;
            delete this.$refs.slidecap;
            this.$update()
        }
    });
    return l
}, "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "55ecf251619aa03ad5e02d8743c45f0a", "83c67d5b20eeffc1f687e113ae22189f", "0d434f17f93250948578c8948f9f01bf", "4e3477f1faad0e644cf31bd4765e12dc");
I$("7f762a2b6da0e2dc582e1cde66c68ac8", function (e, t, i, n, s, r, a, o, c, _, d, f) {
    var h = o.extend({
        getPwd: function () {
            return this.__saveValidate || ""
        }, getCt: function () {
            return this.data.captchaType || ""
        }, _$getCapState: function () {
            return this.__capState
        }, config: function (e) {
            this.supr(e)
        }, removeLayer: function () {
            this.doClose()
        }, destroy: function () {
            this.__capState = 1;
            this.doClose();
            if (this.__instance && this.__instance.destroy) this.__instance.destroy();
            this.supr()
        }, init: function (e) {
            this.supr(e);
            this.data.lang = this.data.lang || "zh-CN";
            this.data.mode = this.data.mode || "float";
            this.data.width = this.data.width || "320px";
            this.doInitCallback = this.data.initCallback || d;
            this.doCapErr = this.data.initErrorHandler || d;
            this.doVerify = this.data.verifyCallback || d;
            this.__capState = 1;
            this.showCap();
            if (this.data.capBox) {
                this.__capBox = this.data.capBox;
                setTimeout(function () {
                    t._$delEvent(this.__capBox, "mouseout", this.__slidebarout._$bind(this));
                    t._$delEvent(this.__capBox, "mouseover", this.__slidebarover._$bind(this));
                    t._$addEvent(this.__capBox, "mouseout", this.__slidebarout._$bind(this));
                    t._$addEvent(this.__capBox, "mouseover", this.__slidebarover._$bind(this))
                }._$bind(this), 300)
            }
        }, __slidebarout: function () {
            if (this.__sdov) this.__sdov = clearTimeout(this.__sdov);
            this.__sdot = setTimeout(function () {
                this.__capBox.style.zIndex = "19"
            }._$bind(this), 100)
        }, __slidebarover: function () {
            if (this.__sdot) this.__sdot = clearTimeout(this.__sdot);
            this.__sdov = setTimeout(function () {
                this.__capBox.style.zIndex = "501"
            }._$bind(this), 100)
        }, doClose: function () {
            if (this.__close) t._$delEvent(this.__close, "click", this.doClose._$bind(this));
            if (this.__layer) this.__layer.style.display = "none"
        }, doPopUp: function () {
            var e = function () {
                this.data.capBarHeight = parseInt(this.data.capBarHeight || 40);
                this.data.capPadding = parseInt(this.data.capPadding || 10);
                this.__layer = n._$create("div", "cap-box", document.body);
                n._$create("iframe", "cap-box-mask", this.__layer);
                n._$create("div", "cap-box-mask", this.__layer);
                this.__innerBox = n._$create("div", "cap-box-inner", this.__layer);
                var e = n._$create("div", "cap-bar", this.__innerBox);
                e.style.height = this.data.capBarHeight + "px";
                e.style.lineHeight = this.data.capBarHeight + "px";
                var t = n._$create("div", "cap-title", e);
                t.style.paddingLeft = this.data.capPadding + "px";
                this.__close = n._$create("div", "cap-close", e);
                t.innerHTML = "请完成安全验证";
                this.__close.innerHTML = "&nbsp;";
                this.__close.style.top = parseInt(this.data.capBarHeight / 2) - parseInt(this.__close.offsetHeight / 2) + "px";
                this.__close.style.display = "block";
                this.__cnt = n._$create("div", "cap-cnt", this.__innerBox);
                this.__cnt.style.padding = this.data.capPadding + "px";
                this.__cnt.style.paddingTop = "0px";
                this.__layer.style.visibility = "hidden";
                return this.__cnt
            };
            return function (i) {
                i.element = e.call(this);
                i.mode = "embed";
                window.initNECaptcha && initNECaptcha(i, function (e) {
                    this.__instance = e;
                    this.__innerBox.style.marginLeft = -1 * parseInt(this.__innerBox.offsetWidth / 2) + "px";
                    this.__innerBox.style.marginTop = -1 * parseInt(this.__innerBox.offsetHeight / 2) + "px";
                    this.__innerBox.style.width = parseInt(this.data.width) + 2 * this.data.capPadding + "px";
                    this.__layer.style.visibility = "visible";
                    t._$delEvent(this.__close, "click", this.doClose._$bind(this));
                    t._$addEvent(this.__close, "click", this.doClose._$bind(this));
                    a._$resize()
                }._$bind(this), function () {
                    this.doCapErr()
                }._$bind(this))
            }
        }(), showCap: function () {
            if (!this.data.customStyles.gap) this.data.customStyles.gap = "0";
            var e = {
                wmServerConfig: {
                    configServer: "webzjac.reg.163.com",
                    apiServer: "webzjac.reg.163.com",
                    staticServer: "acstatic-dun.126.net"
                },
                apiServer: ["webzjcaptcha.reg.163.com", "c.dun.163yun.com"],
                customStyles: this.data.customStyles,
                captchaType: this.data.captchaType,
                captchaId: this.data.captchaId,
                element: this.data.parentNode,
                mode: this.data.mode,
                width: this.data.width,
                lang: this.data.lang,
                onReady: function () {
                    this.doInitCallback()
                }._$bind(this),
                onVerify: function (e, t) {
                    if (e) {
                        this.__capState = 1;
                        if ("popup" != this.data.mode) this.doVerify({validate: !1})
                    } else {
                        if ("popup" == this.data.mode) this.__close.style.display = "none";
                        this.__capState = 0;
                        t.captchaType = this.data.captchaType;
                        this.__saveValidate = t.validate;
                        this.doVerify(t)
                    }
                }._$bind(this)
            };
            if ("popup" == this.data.mode) this.doPopUp(e); else window.initNECaptcha && initNECaptcha(e, function (e) {
                this.__instance = e;
                a._$resize()
            }._$bind(this), function () {
                this.doCapErr()
            }._$bind(this))
        }
    });
    return h
}, "605054bf841321ed40d652370c40f4e5", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "55ecf251619aa03ad5e02d8743c45f0a", "83c67d5b20eeffc1f687e113ae22189f", "0d434f17f93250948578c8948f9f01bf", "caaecd3c396a93b245bbd554253cba73");
I$("6205908130ee8e8e989660217dba1dd4", function (e, t, i, n, s, r, a, o, c, _, d, f) {
    var h;
    c._$$Module = e._$klass();
    h = c._$$Module._$extend(s._$$Abstract);
    h.__init = function (e) {
        this.__super(e)
    };
    h.__reset = function (e) {
        this.__super(e);
        this.__initForm();
        this.__initEvent();
        this.__states = {};
        if (!e.errMsg) this._$clearState()
    };
    h.__destroy = function () {
        this.__super();
        n._$forEach(this.__ipts, function (e) {
            e = e._$recycle()
        })
    };
    h.__initNode = function () {
        this.__super()
    };
    h.__initCallback = function () {
    };
    h.__initErrorHandler = function () {
        r._$showError({name: ""}, "验证码初始化失败，请刷新页面重试", "nerror")
    };
    h.__setPlaceHolder = function () {
        if (this.__placeholder && !this.__placeholder2) {
            if (this.__placeholder.account) {
                var e = t._$getByClassName(this.__body, "u-input")[0];
                t._$getByClassName(e, "u-label")[0].innerHTML = r._$HtmlEncode(this.__placeholder.account);
                var i = t._$getByClassName(e, "j-inputtext")[0];
                t._$dataset(i, "placeholder", this.__placeholder.account)
            }
            if (this.__placeholder.pwd) {
                var n = t._$getByClassName(this.__body, "u-input")[1];
                t._$getByClassName(n, "u-label")[0].innerHTML = r._$HtmlEncode(this.__placeholder.pwd);
                var s = t._$getByClassName(n, "j-inputtext")[0];
                var a = t._$getByClassName(n, "u-pwdtext")[0];
                t._$dataset(s, "placeholder", this.__placeholder.pwd);
                if (a) t._$dataset(a, "placeholder", this.__placeholder.pwd)
            }
            this.__placeholder2 = 1
        }
    };
    h._$stateOK = function (e) {
        this.__form._$checkValidity(null, 1);
        setTimeout(function () {
            var t = 1, i = "", s = ["email", "password", "tcheckcode", "slidecap"];
            if (void 0 != typeof this.__states["checkcode"]) this.__states["tcheckcode"] = this.__states["checkcode"];
            n._$forEach(s, function (e) {
                if (1 == this.__states[e]) if (!i) {
                    t = 0;
                    i = e
                }
            }._$bind(this));
            e(t, i)
        }._$bind(this), 400)
    };
    h._$getValues = function () {
        var e = [];
        n._$forEach(this.__inputs, function (t) {
            var i = t.value;
            e.push(i)
        });
        return e
    };
    h._$clearState = function () {
        if (this._$hideCheckCode) ;
        n._$reverseEach(this.__ipts, function (e, t) {
            var i = t ? 0 : 1;
            e._$onClear(i)
        }._$bind(this));
        this.__initError()
    };
    h.__initError = function () {
        var e = t._$get("nerror");
        e.innerHTML = "";
        var i = t._$getByClassName(document, "error-color");
        for (var n = 0; n < i.length; n++) t._$delClassName(i[n], "error-color")
    };
    h.__setSlideSuc = function () {
        this._$dispatchEvent("onSlideOk");
        this.__destroyPopSlideCap();
        var e = t._$getByClassName(document, "ncpt_txt_status")[0];
        if (e) {
            e.style.display = "block";
            e.innerHTML = '<div class="u-success u-suc"></div>';
            e.className = "ncpt_txt_status TxtStatus statusTxt"
        }
        this.__states["slidecap"] = 0
    };
    h.__cbVftcp = function () {
        this.__clearSlideErr();
        this.__slideCapLock = 0;
        this.__setSlideSuc();
        this.__checkNextBtn()
    };
    h.__unLockLogin = function () {
        this._$dispatchEvent("onUnLockLogin")
    };
    h.__destroyPopSlideCap = function () {
        if (this.__newSlideCap && 3 == this.__opts.version && "popup" == this.__opts.mode) this.__newSlideCap.removeLayer()
    };
    h.__cbVftcpEx = function (e) {
        var t, i;
        this.__slideCapLock = 0;
        this.__unLockLogin();
        this.__destroyPopSlideCap();
        if (e) {
            t = e.ret;
            if ("441" == t) {
                this.__needSlideCap = 0;
                this.__needCheckCode = 1;
                this._$refreshCheckCode(t, 1);
                i = a[t] || r._$getErrorTxt(t);
                r._$showError({name: "checkcode"}, i, "nerror")
            } else if ("444" == t || "445" == t) {
                this.__needSlideCap = 1;
                this.__needCheckCode = 0;
                this._$refreshCheckCode(t, 1);
                r._$showError({name: "slide"}, this.__slideTxt, "nerror")
            } else {
                i = a[t] || r._$getErrorTxt(t);
                r._$showError({name: "slide"}, i, "nerror");
                this._$getSlideCap(1)
            }
        } else r._$showError({name: "slide"}, this.__slideTxt, "nerror")
    };
    h.__slidebarover = function () {
        if (this.__sdot) this.__sdot = clearTimeout(this.__sdot);
        this.__sdov = setTimeout(function () {
            this.__slideCapBox.style.zIndex = "501"
        }._$bind(this), 100)
    };
    h.__slidebarout = function () {
        if (this.__sdov) this.__sdov = clearTimeout(this.__sdov);
        this.__sdot = setTimeout(function () {
            this.__slideCapBox.style.zIndex = "19"
        }._$bind(this), 100)
    };
    h.__clearSlideErr = function () {
        r._$removeError({name: "slide"}, "nerror")
    };
    h.__vSlide = function () {
        var e = function () {
            if (!this.__myCaptcha) return 1;
            var e = this.__myCaptcha.getPwd() || "";
            if ("" == e || "LG42Dm53vsrZmrXdZ6buHUVNfQcsLzql1gV7HFhl5yZzlILOJmPEY+r+vJComfirFG2deb709GYQQIob6ke6c31j6W+FKrE6QEghCshv5Kc=" == e) return 1; else return 0
        };
        var t = function () {
            if (!this.__newSlideCap) return 1; else return this.__newSlideCap._$getCapState()
        };
        return function () {
            if (3 == this.__opts.version) return t.call(this); else return e.call(this)
        }
    }();
    h._$getSlideCap = function (e) {
        if (3 == this.__opts.version) this.__showNewCap(e); else this.__showOldCap(e)
    };
    h.__showNewCap = function (e) {
        var i = {
            capBox: t._$get("ScapTcha").parentNode,
            captchaType: this.__slideTarget,
            parentNode: t._$get("ScapTcha"),
            customStyles: this.__opts.customStyles || {},
            capPadding: this.__opts.capPadding || "",
            capBarHeight: this.__opts.capBarHeight || "",
            isLogin: e,
            lang: this.__opts.lang,
            captchaId: this.__opts.productKey,
            mode: this.__opts.mode,
            width: this.__opts.swidth,
            verifyCallback: this.__slideVerify._$bind(this),
            initCallback: this.__initCallback._$bind(this),
            initErrorHandler: this.__initErrorHandler._$bind(this)
        };
        if (this.__newSlideCap) this.__newSlideCap = this.__newSlideCap.destroy();
        this.__newSlideCap = new o({data: i})
    };
    h.__newVerifyCap = function (e, t) {
        e.cap = t ? t.validate : this.__newSlideCap.getPwd();
        e.v = 2;
        return e
    };
    h.__oldVerifyCap = function (e) {
        e.cap = this.__myCaptcha.getPwd();
        return e
    };
    h.__showOldCap = function (e) {
        this.__slideOpt.captchaType = this.__slideTarget;
        this.__slideOpt.element = t._$get("ScapTcha");
        if (e) {
            if (window._$needUrsBgp && window._$BGP) {
                this.__slideOpt.apiServer = "captcha2.reg.163.com/v2";
                this.__slideOpt.staticServer = "captcha2.reg.163.com/v2"
            }
        } else if (window._$needUrsBgp && window._$BGPZC) {
            this.__slideOpt.apiServer = "captcha2.reg.163.com/v2";
            this.__slideOpt.staticServer = "captcha2.reg.163.com/v2"
        }
        this.__slideOpt.showDelay = 300;
        var n = t._$getChildren(this.__slideOpt.element);
        if (this.__myCaptcha && n.length && n.length > 0) this.__myCaptcha.refresh(this.__slideOpt); else this.__myCaptcha = new window.NECaptcha(this.__slideOpt);
        setTimeout(function () {
            i._$addEvent(this.__slideCapBox, "mouseout", this.__slidebarout._$bind(this));
            i._$addEvent(this.__slideCapBox, "mouseover", this.__slidebarover._$bind(this))
        }._$bind(this), 300)
    };
    h._$refreshCheckCode = function (e, t) {
        if (this.__needSlideCap) this._$showSlideCode(e, t); else if (this.__needCheckCode) this._$showCheckCode()
    };
    h._$hasCheckCode = function () {
        return this.__needCheckCode || this.__needSlideCap
    };
    h._$showSlideCode = function (e, i) {
        if ("444" == e || "109" == e) {
            this.__cf = 4;
            this.__slideTarget = 2;
            this.__slideTxt = window._$capTxt1
        } else {
            this.__cf = 5;
            this.__slideTarget = 3;
            this.__slideTxt = window._$capTxt2
        }
        this._$hideCheckCode();
        this.__needSlideCap = 1;
        this.__states["slidecap"] = 1;
        t._$delClassName(this.__slideCapBox, "f-dn");
        this.__slideLock = 0;
        this._$getSlideCap(i);
        this._$dispatchEvent("ondisabled", 1);
        this.__checkNextBtn();
        var n = t._$get("cnt-box-parent");
        t._$addClassName(n, "hascheckcode");
        setTimeout(function () {
            r._$resize()
        }, 200)
    };
    h._$hideCheckCode = function () {
        var e = t._$get("cnt-box-parent");
        t._$delClassName(e, "hascheckcode");
        this.__states["checkcode"] = 0;
        this.__states["slidecap"] = 0;
        this.__needSlideCap = 0;
        this.__needCheckCode = 0;
        t._$addClassName(this.__checkCode, "f-dn");
        t._$addClassName(this.__slideCapBox, "f-dn");
        r._$resize()
    };
    h._$setNeedCheckCode = function () {
        this.__needSlideCap = 1;
        this.__needCheckCode = 0;
        this.__states["slidecap"] = 1;
        if (this.__newSlideCap) this.__newSlideCap = this.__newSlideCap.destroy()
    };
    return c
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "df9d93a61ae210b34038e92b4416342a", "0d434f17f93250948578c8948f9f01bf", "24009e123f5588d3e0d561f49177981a", "7f762a2b6da0e2dc582e1cde66c68ac8");
I$("45f6e409ee61dceaf75ba5a4ba67e5aa", function (e, t, i, n, s, r) {
    i.__focusElement = function () {
        var i = function (i, n) {
            var s = e._$getElement(n);
            if (!s.value) t._$delClassName(s, i)
        };
        var n = function (i, n) {
            t._$addClassName(e._$getElement(n), i)
        };
        return function (t, s, r) {
            if (1 == s) e._$addEvent(t, "blur", i._$bind(null, r));
            if (1 == s || s == -1) e._$addEvent(t, "focus", n._$bind(null, r))
        }
    }();
    return i
}, "a0c610891b37112b33fc6ca301b06e01", "d73a726efb8534e8d72defb6cd280a1c");
I$("7a8319dbbfec9e4cd71f5bc848f5824a", function (e, t, i, n, s, r, a, o) {
    if ("trident" === e._$KERNEL.engine && e._$KERNEL.release <= "3.0") I$(25, function () {
        t.__focusElement = function () {
            var e = function (e, t) {
                n._$delClassName(i._$getElement(t), e)
            };
            return t.__focusElement._$aop(function (t) {
                var n = t.args;
                if (1 != n[1]) {
                    i._$addEvent(n[0], "blur", e._$bind(null, n[2]));
                    n[1] = -1
                }
            })
        }()
    });
    return t
}, "605054bf841321ed40d652370c40f4e5", "45f6e409ee61dceaf75ba5a4ba67e5aa", "a0c610891b37112b33fc6ca301b06e01", "d73a726efb8534e8d72defb6cd280a1c");
I$("49caaf241a65de254475494142fe0209", function (e, t, i, n, s, r, a, o, c) {
    r._$focus = function (e, s) {
        e = i._$get(e);
        if (e) {
            var r = 0, a = "js-focus";
            if (t._$isNumber(s)) r = s; else if (t._$isString(s)) a = s; else if (t._$isObject(s)) {
                r = s.mode || r;
                a = s.clazz || a
            }
            var o = parseInt(i._$dataset(e, "mode"));
            if (!isNaN(o)) r = o;
            o = i._$dataset(e, "focus");
            if (o) a = o;
            n.__focusElement(e, r, a)
        }
    };
    s._$merge(r);
    if (!0) e.copy(e.P("nej.e"), r);
    return r
}, "eddda1e8e7971753192ee8d61ef1680e", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "7a8319dbbfec9e4cd71f5bc848f5824a", "4ff36f93915f61da99a05f35c5dcc945");
I$("05facfa96301f752e7608c015b924039", function (e) {
    e.__length = function () {
        var e = /(\r\n|\r|\n)/g;
        return function (t) {
            return (t || "").replace(e, "**").length
        }
    }();
    return e
}, "605054bf841321ed40d652370c40f4e5");
I$("53f1f9276a97fd8314a640fa09d0be4a", function (e, t) {
    if ("trident" === e._$KERNEL.engine) I$(22, function () {
        t.__length = function () {
            return (_event.args[0] || "").length
        }
    });
    return t
}, "605054bf841321ed40d652370c40f4e5", "05facfa96301f752e7608c015b924039");
I$("857bde8fed84ae23f8a546bfd38c06cd", function (e, t, i, n, s, r, a, o, c, _) {
    a._$counter = function () {
        var e = /[\r\n]/gi, s = {};
        var a = function (e) {
            return r.__length(e)
        };
        var o = function (e) {
            var i = s[e], n = t._$get(e), r = t._$get(i.xid);
            if (n && i) {
                var a = {input: n.value};
                a.length = i.onlength(a.input);
                a.delta = i.max - a.length;
                i.onchange(a);
                r.innerHTML = a.value || "剩余" + Math.max(0, a.delta) + "个字"
            }
        };
        return function (e, r) {
            var _ = t._$id(e);
            if (_ && !s[_]) {
                var d = n._$merge({}, r);
                d.onchange = d.onchange || c;
                d.onlength = a;
                if (!d.max) {
                    var f = parseInt(t._$attr(_, "maxlength")), h = parseInt(t._$dataset(_, "maxLength"));
                    d.max = f || h || 100;
                    if (!f && h) d.onlength = n._$length
                }
                s[_] = d;
                i._$addEvent(_, "input", o._$bind(null, _));
                var l = t._$wrapInline(_, {nid: d.nid || "js-counter", clazz: d.clazz});
                d.xid = t._$id(l);
                o(_)
            }
        }
    }();
    s._$merge(a);
    if (!0) e.copy(e.P("nej.e"), a);
    return a
}, "eddda1e8e7971753192ee8d61ef1680e", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "4ff36f93915f61da99a05f35c5dcc945", "53f1f9276a97fd8314a640fa09d0be4a");
I$("a54ea0db5168e10f267d4b6527c4ef6f", function (e, t, i, n) {
    e.__setPlaceholder = function (e, t) {
    };
    return e
});
I$("b772706f9d81f1cf77cb59230482cab8", function (e, t, i, n, s, r, a, o, c) {
    if ("trident" === e._$KERNEL.engine && e._$KERNEL.release <= "5.0") I$(26, function () {
        s.__setPlaceholder = function () {
            var e = {}, s = {nid: "j-holder-" + n._$uniqueID()};
            var r = function (i) {
                var n = t._$get(i);
                e[i] = 2;
                if (!n.value) t._$setStyle(t._$wrapInline(n, s), "display", "none")
            };
            var a = function (i) {
                var n = t._$get(i);
                e[i] = 1;
                if (!n.value) t._$setStyle(t._$wrapInline(n, s), "display", "")
            };
            var o = function (i) {
                var n = t._$get(i);
                if (2 != e[i]) t._$setStyle(t._$wrapInline(n, s), "display", !n.value ? "" : "none")
            };
            var c = function (e, i) {
                var n = t._$id(e), r = t._$wrapInline(e, {tag: "label", clazz: i, nid: s.nid});
                r.htmlFor = n;
                var a = t._$attr(e, "placeholder") || "";
                r.innerText = "null" == a ? "" : a;
                var o = e.offsetHeight + "px";
                t._$style(r, {left: 0, display: !e.value ? "" : "none"})
            };
            return function (t, n) {
                if (null == e[t.id]) {
                    c(t, n);
                    var s = t.id;
                    e[s] = 1;
                    i._$addEvent(t, "blur", a._$bind(null, s));
                    i._$addEvent(t, "focus", r._$bind(null, s));
                    i._$addEvent(t, "input", o._$bind(null, s))
                }
            }
        }()
    });
    return s
}, "605054bf841321ed40d652370c40f4e5", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "a54ea0db5168e10f267d4b6527c4ef6f");
I$("b2d90dfd90e068c2898cdf37d2fa2835", function (e, t, i, n, s, r, a, o) {
    s._$placeholder = function (e, i) {
        e = t._$get(e);
        n.__setPlaceholder(e, t._$dataset(e, "holder") || i || "js-placeholder")
    };
    i._$merge(s);
    if (!0) e.copy(e.P("nej.e"), s);
    return s
}, "eddda1e8e7971753192ee8d61ef1680e", "d73a726efb8534e8d72defb6cd280a1c", "4ff36f93915f61da99a05f35c5dcc945", "b772706f9d81f1cf77cb59230482cab8");
I$("e5feb2c30314dfb26cc8c0ea91b51d97", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l) {
    _._$$WebForm = t._$klass();
    l = _._$$WebForm._$extend(r._$$EventTarget);
    l.__init = function () {
        this.__super();
        this.__wopt = {tp: {nid: "js-nej-tp"}, ok: {nid: "js-nej-ok"}, er: {nid: "js-nej-er"}}
    };
    l.__reset = function (e) {
        this.__super(e);
        this.__form = document.forms[e.form] || i._$get(e.form);
        this.__doInitDomEvent([[this.__form, "enter", this._$dispatchEvent._$bind(this, "onenter")]]);
        this.__message = e.message || {};
        this.__message.pass = this.__message.pass || "&nbsp;";
        var t = this.__dataset(this.__form, "focusMode", 1);
        if (!isNaN(t)) this.__fopt = {mode: t, clazz: e.focus};
        this.__holder = e.holder;
        this.__wopt.tp.clazz = "js-mhd " + (e.tip || "js-tip");
        this.__wopt.ok.clazz = "js-mhd " + (e.pass || "js-pass");
        this.__wopt.er.clazz = "js-mhd " + (e.error || "js-error");
        this.__invalid = e.invalid || "js-invalid";
        this.__doInitValidRule(e);
        this._$refresh();
        if (this.__fnode) this.__fnode.focus()
    };
    l.__destroy = function () {
        this.__super();
        this._$reset();
        delete this.__message;
        delete this.__fnode;
        delete this.__vinfo;
        delete this.__xattr;
        delete this.__form;
        delete this.__treg;
        delete this.__vfun
    };
    l.__dataset = function (e, t, n) {
        var s = i._$dataset(e, t);
        switch (n) {
            case 1:
                return parseInt(s, 10);
            case 2:
                return "true" == (s || "").toLowerCase();
            case 3:
                return this.__doParseDate(s)
        }
        return s
    };
    l.__number = function (e, t, i) {
        if ("date" == t) return this.__doParseDate(e, i); else return parseInt(e, 10)
    };
    l.__isValidElement = function () {
        var e = /^button|submit|reset|image|hidden|file$/i;
        return function (t) {
            t = this._$get(t) || t;
            var i = t.type;
            return !!t.name && !e.test(t.type || "")
        }
    }();
    l.__isValueElement = function () {
        var e = /^hidden$/i;
        return function (t) {
            if (this.__isValidElement(t)) return !0;
            t = this._$get(t) || t;
            var i = t.type || "";
            return e.test(i)
        }
    }();
    l.__doParseDate = function () {
        var e = /[:\.]/;
        return function (t, i) {
            if ("now" == (t || "").toLowerCase()) return +new Date;
            var n = s._$var2date(t);
            if (n && !e.test(t)) {
                var r = (i || "").split(e);
                n.setHours(parseInt(r[0], 10) || 0, parseInt(r[1], 10) || 0, parseInt(r[2], 10) || 0, parseInt(r[3], 10) || 0)
            }
            return +n
        }
    }();
    l.__doCheckString = function (e, t) {
        var i = this.__vfun[t], n = this.__dataset(e, t);
        if (n && i) {
            this.__doPushValidRule(e, i);
            this.__doSaveValidInfo(e, t, n)
        }
    };
    l.__doCheckPattern = function (e, t) {
        try {
            var i = this.__dataset(e, t);
            if (!i) return;
            var n = new RegExp(i);
            this.__doSaveValidInfo(e, t, n);
            this.__doPushValidRule(e, this.__vfun[t])
        } catch (s) {
        }
    };
    l.__doCheckBoolean = function (e, t) {
        var i = this.__vfun[t];
        if (i && this.__dataset(e, t, 2)) this.__doPushValidRule(e, i)
    };
    l.__doCheckNumber = function (e, t, i) {
        i = parseInt(i, 10);
        if (!isNaN(i)) {
            this.__doSaveValidInfo(e, t, i);
            this.__doPushValidRule(e, this.__vfun[t])
        }
    };
    l.__doCheckDSNumber = function (e, t) {
        this.__doCheckNumber(e, t, this.__dataset(e, t))
    };
    l.__doCheckATNumber = function (e, t) {
        this.__doCheckNumber(e, t, i._$attr(e, t))
    };
    l.__doCheckTPNumber = function (e, t, i) {
        var n = this.__number(this.__dataset(e, t), this.__dataset(e, "type"));
        this.__doCheckNumber(e, t, n)
    };
    l.__doCheckCustomAttr = function (e) {
        s._$loop(this.__xattr, function (t, n) {
            var s = i._$dataset(e, n);
            if (null != s) {
                this.__doSaveValidInfo(e, n, s);
                this.__doPushValidRule(e, this.__vfun[n])
            }
        }, this)
    };
    l.__doPrepareElement = function () {
        var e = /^input|textarea$/i, t = /[:\.]/;
        var s = function (e) {
            this._$showTip(n._$getElement(e))
        };
        var r = function (e) {
            var t = n._$getElement(e);
            if (!this.__dataset(t, "ignore", 2)) this.__doCheckValidity(t)
        };
        return function (t) {
            if (this.__dataset(t, "autoFocus", 2)) this.__fnode = t;
            var n = i._$attr(t, "placeholder");
            if (n && "null" != n) c._$placeholder(t, this.__holder);
            if (this.__fopt && e.test(t.tagName)) a._$focus(t, this.__fopt);
            var _ = i._$id(t);
            this.__doCheckBoolean(_, "required");
            this.__doCheckString(_, "type");
            this.__doCheckPattern(_, "pattern");
            this.__doCheckATNumber(_, "maxlength");
            this.__doCheckATNumber(_, "minlength");
            this.__doCheckDSNumber(_, "maxLength");
            this.__doCheckDSNumber(_, "minLength");
            this.__doCheckTPNumber(_, "min");
            this.__doCheckTPNumber(_, "max");
            this.__doCheckCustomAttr(_);
            var f = i._$dataset(_, "time");
            if (f) this.__doSaveValidInfo(_, "time", f);
            var h = t.name;
            this.__message[h + "-tip"] = this.__dataset(t, "tip");
            this.__message[h + "-error"] = this.__dataset(t, "message");
            this._$showTip(t);
            var l = this.__vinfo[_], u = (l || d).data || d, p = this.__dataset(t, "counter", 2);
            if (p && (u.maxlength || u.maxLength)) o._$counter(_, {nid: this.__wopt.tp.nid, clazz: "js-counter"});
            if (l && e.test(t.tagName)) this.__doInitDomEvent([[t, "focus", s._$bind(this)], [t, "blur", r._$bind(this)]]); else if (this.__dataset(t, "focus", 2)) this.__doInitDomEvent([[t, "focus", s._$bind(this)]])
        }
    }();
    l.__doInitValidRule = function () {
        var t = {
            number: /^[\d]+$/i,
            url: /^[a-z]+:\/\/(?:[\w-]+\.)+[a-z]{2,6}.*$/i,
            email: /^[\w-\.]+@(?:[\w-]+\.)+[a-z]{2,6}$/i,
            email1: /^[\w-\.]+@(?:[\w-]+\.)+[a-z]{2,6}$/i,
            email2: /^[\w-\.]+$/i,
            date: function (e, t) {
                var i = this.__dataset(t, "format") || "yyyy-MM-dd";
                return !e || !isNaN(this.__doParseDate(e)) && s._$format(this.__doParseDate(e), i) == e
            }
        };
        var i = {
            required: function (e) {
                var t = e.type, i = !e.value, n = ("checkbox" == t || "radio" == t) && !e.checked;
                if (n || i) return -1
            }, type: function (e, t) {
                var i = this.__treg[t.type], n = e.value.trim(), r = !!i.test && !i.test(n),
                    a = s._$isFunction(i) && !i.call(this, n, e);
                if (r || a) return -2
            }, pattern: function (e, t) {
                if (!t.pattern.test(e.value)) return -3
            }, maxlength: function (e, t) {
                if (e.value.length > t.maxlength) return -4
            }, minlength: function (e, t) {
                if (e.value.length < t.minlength) return -5
            }, maxLength: function (e, t) {
                if (s._$length(e.value) > t.maxLength) return -4
            }, minLength: function (e, t) {
                if (s._$length(e.value) < t.minLength) return -5
            }, min: function (e, t) {
                var i = this.__number(e.value, t.type, t.time);
                if (isNaN(i) || i < t.min) return -6
            }, max: function (e, t) {
                var i = this.__number(e.value, t.type, t.time);
                if (isNaN(i) || i > t.max) return -7
            }
        };
        var n = function (e, t, i, n) {
            var r = e[i];
            if (!s._$isFunction(t) || !s._$isFunction(r)) e[i] = t; else e[i] = r._$aop(t)
        };
        return function (r) {
            if (r.domain) t.email = t.email2; else t.email = t.email1;
            this.__treg = e.X({}, t);
            s._$loop(r.type, n._$bind(null, this.__treg));
            this.__vfun = e.X({}, i);
            this.__xattr = r.attr;
            s._$loop(this.__xattr, n._$bind(null, this.__vfun))
        }
    }();
    l.__doPushValidRule = function (e, t) {
        if (s._$isFunction(t)) {
            var i = this.__vinfo[e];
            if (!i || !i.func) {
                i = i || {};
                i.func = [];
                this.__vinfo[e] = i
            }
            i.func.push(t)
        }
    };
    l.__doSaveValidInfo = function (e, t, i) {
        if (t) {
            var n = this.__vinfo[e];
            if (!n || !n.data) {
                n = n || {};
                n.data = {};
                this.__vinfo[e] = n
            }
            n.data[t] = i
        }
    };
    l.__doCheckValidity = function (e) {
        e = this._$get(e) || e;
        if (!e) return !0;
        var t = this.__vinfo[i._$id(e)];
        if (!t && this.__isValidElement(e)) {
            this.__doPrepareElement(e);
            t = this.__vinfo[i._$id(e)]
        }
        if (!t) return !0;
        var n;
        s._$forIn(t.func, function (i) {
            n = i.call(this, e, t.data);
            return null != n
        }, this);
        if (null == n) {
            var r = {target: e, form: this.__form};
            this._$dispatchEvent("oncheck", r);
            n = r.value
        }
        var r = {target: e, form: this.__form};
        if (null != n) {
            if (s._$isObject(n)) s._$merge(r, n); else r.code = n;
            this._$dispatchEvent("oninvalid", r);
            if (!r.stopped) this._$showMsgError(e, r.value || this.__message[e.name + n])
        } else {
            this._$dispatchEvent("onvalid", r);
            if (!r.stopped) this._$showMsgPass(e, r.value)
        }
        return null == n
    };
    l.__doShowMessage = function () {
        var e = {tp: "tip", ok: "pass", er: "error"};
        var t = function (e, t) {
            return e == t ? "block" : "none"
        };
        var n = function (e, t, n) {
            var s = r.call(this, e, t);
            if (!s && n) s = i._$wrapInline(e, this.__wopt[t]);
            return s
        };
        var r = function (t, n) {
            var s = i._$get(t.name + "-" + e[n]);
            if (!s) s = i._$getByClassName(t.parentNode, this.__wopt[n].nid)[0];
            return s
        };
        return function (e, a, o) {
            e = this._$get(e) || e;
            if (e) {
                "er" == o ? i._$addClassName(e, this.__invalid) : i._$delClassName(e, this.__invalid);
                var c = n.call(this, e, o, a);
                if (c && a) c.innerHTML = a;
                s._$loop(this.__wopt, function (n, s) {
                    i._$setStyle(r.call(this, e, s), "display", t(o, s))
                }, this)
            }
        }
    }();
    l._$showTip = function (e, t) {
        this.__doShowMessage(e, t || this.__message[e.name + "-tip"], "tp")
    };
    l._$showMsgPass = function (e, t) {
        this.__doShowMessage(e, t || this.__message[e.name + "-pass"] || this.__message.pass, "ok")
    };
    l._$showMsgError = function (e, t) {
        this.__doShowMessage(e, t || this.__message[e.name + "-error"], "er")
    };
    l._$setValue = function () {
        var e = /^(?:radio|checkbox)$/i;
        var t = function (e) {
            return null == e ? "" : e
        };
        var i = function (e, i) {
            if (i.multiple) {
                var n;
                if (!s._$isArray(e)) n[e] = e; else n = s._$array2object(e);
                s._$forEach(i.options, function (e) {
                    e.selected = null != n[e.value]
                })
            } else i.value = t(e)
        };
        var n = function (n, s) {
            if (e.test(s.type || "")) s.checked = n == s.value; else if ("SELECT" == s.tagName) i(n, s); else s.value = t(n)
        };
        return function (e, t) {
            var i = this._$get(e);
            if (i) if ("SELECT" == i.tagName || !i.length) n(t, i); else s._$forEach(i, n._$bind(null, t))
        }
    }();
    l._$get = function (e) {
        return this.__form.elements[e]
    };
    l._$form = function () {
        return this.__form
    };
    l._$data = function () {
        var e = /^radio|checkbox$/i, t = /^number|date$/;
        var n = function (e) {
            if ("SELECT" == e.tagName && e.multiple) {
                var t = [];
                s._$forEach(e.options, function (e) {
                    if (e.selected) t.push(e.value)
                });
                return t.length > 0 ? t : ""
            }
            return e.value
        };
        var r = function (r, a) {
            var o = a.name, c = n(a), _ = r[o], d = this.__dataset(a, "type"), f = i._$dataset(a, "time");
            if (t.test(d)) if (s._$isArray(c)) s._$forEach(c, function (e, t, i) {
                i[t] = this.__number(e, d, f)
            }, this); else c = this.__number(c, d, f);
            if (e.test(a.type) && !a.checked) {
                c = this.__dataset(a, "value");
                if (!c) return
            }
            if (_) {
                if (!s._$isArray(_)) {
                    _ = [_];
                    r[o] = _
                }
                _.push(c)
            } else r[o] = c
        };
        return function () {
            var e = {};
            s._$forEach(this.__form.elements, function (t) {
                if (this.__isValueElement(t)) r.call(this, e, t)
            }, this);
            return e
        }
    }();
    l._$reset = function () {
        var e = function (e) {
            if (this.__isValidElement(e)) this._$showTip(e)
        };
        return function () {
            this.__form.reset();
            s._$forEach(this.__form.elements, e, this)
        }
    }();
    l._$submit = function () {
        this.__form.submit()
    };
    l._$refresh = function () {
        var e = function (e) {
            if (this.__isValidElement(e)) this.__doPrepareElement(e)
        };
        return function () {
            this.__vinfo = {};
            s._$forEach(this.__form.elements, e, this)
        }
    }();
    l._$checkValidity = function (e, t) {
        e = this._$get(e) || e;
        if (e) return this.__doCheckValidity(e);
        var i = !0;
        s._$forEach(this.__form.elements, function (e) {
            var n = this._$checkValidity(e);
            i = i && n;
            if (!i && t) return !0
        }, this);
        return i
    };
    if (!0) e.copy(e.P("nej.ut"), _);
    return _
}, "eddda1e8e7971753192ee8d61ef1680e", "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b75e70b49b58692524630910fc7d379f", "49caaf241a65de254475494142fe0209", "857bde8fed84ae23f8a546bfd38c06cd", "b2d90dfd90e068c2898cdf37d2fa2835");
I$("263ef74b9fd197724ac7ba6e1cbc38f5", function (e, t, i, n, s) {
    var r;
    s._$$WebForm = e._$klass();
    r = s._$$WebForm._$extend(n._$$WebForm);
    r.__doInitValidRule = function () {
        var e = {
            number: /^[\d]+$/i,
            url: /^[a-z]+:\/\/(?:[\w-]+\.)+[a-z]{2,6}.*$/i,
            email: /^[\w-\.]+@(?:[\w-]+\.)+[a-z]{2,6}$/i,
            email1: /^[\w-\.]+@(?:[\w-]+\.)+[a-z]{2,6}$/i,
            email2: /(^[\w-\.]+$|^[\w-\.]+@.+$)/i,
            phone: /^(13|14|15|16|17|18|19)\d{9}$/,
            date: function (e, i) {
                var n = this.__dataset(i, "format") || "yyyy-MM-dd";
                return !e || !isNaN(this.__doParseDate(e)) && t._$format(this.__doParseDate(e), n) == e
            }
        };
        var i = {
            required: function (e) {
                var t = e.type, i = !e.value, n = ("checkbox" == t || "radio" == t) && !e.checked;
                if (n || i) return -1
            }, type: function (e, i) {
                var n = this.__treg[i.type], s = e.value.trim(), r = !!n.test && !n.test(s),
                    a = t._$isFunction(n) && !n.call(this, s, e);
                if (r || a) return -2
            }, pattern: function (e, t) {
                if (!t.pattern.test(e.value)) return -3
            }, maxlength: function (e, t) {
                if (e.value.length > t.maxlength) return -4
            }, minlength: function (e, t) {
                if (e.value.length < t.minlength) return -5
            }, maxLength: function (e, i) {
                if (t._$length(e.value) > i.maxLength) return -4
            }, minLength: function (e, i) {
                if (t._$length(e.value) < i.minLength) return -5
            }, min: function (e, t) {
                var i = this.__number(e.value, t.type, t.time);
                if (isNaN(i) || i < t.min) return -6
            }, max: function (e, t) {
                var i = this.__number(e.value, t.type, t.time);
                if (isNaN(i) || i > t.max) return -7
            }
        };
        var n = function (e, i, n, s) {
            var r = e[n];
            if (!t._$isFunction(i) || !t._$isFunction(r)) e[n] = i; else e[n] = r._$aop(i)
        };
        return function (s) {
            if (s.onlyPhone) e.email = e.phone; else if (s.domain) e.email = e.email2; else e.email = e.email1;
            this.__treg = NEJ.X({}, e);
            t._$loop(s.type, n._$bind(null, this.__treg));
            this.__vfun = NEJ.X({}, i);
            this.__xattr = s.attr;
            t._$loop(this.__xattr, n._$bind(null, this.__vfun))
        }
    }();
    r.__doCheckValidity = function (e) {
        var n;
        e = this._$get(e) || e;
        if (!e) return !0;
        var s = this.__vinfo[i._$id(e)];
        if (!s && this.__isValidElement(e)) {
            this.__doPrepareElement(e);
            s = this.__vinfo[i._$id(e)]
        }
        if (!s) return !0;
        var r;
        t._$forIn(s.func, function (t) {
            r = t.call(this, e, s.data);
            return null != r
        }, this);
        if (null == r) {
            n = {target: e, form: this.__form};
            this._$dispatchEvent("oncheck", n);
            r = n.value
        }
        n = {target: e, form: this.__form};
        if (null != r) {
            if (t._$isObject(r)) t._$merge(n, r); else n.code = r;
            this._$dispatchEvent("oninvalid", n);
            if (!n.stopped) this._$showMsgError(e, n.value || this.__message[e.name + r])
        } else {
            this._$dispatchEvent("onvalid", n);
            if (!n.stopped) this._$showMsgPass(e, n.value)
        }
        if (n.ignore) return !0; else return null == r
    };
    return s
}, "05e56106e22a09a56a1098c586c2bfe9", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "e5feb2c30314dfb26cc8c0ea91b51d97");
I$("463114e8a272846e4c40906e94261b60", function (e, t, i, n, s, r, a, o, c, _) {
    r._$$SelectHelper = t._$klass();
    _ = r._$$SelectHelper._$extend(s._$$EventTarget);
    _.__reset = function (e) {
        this.__super(e);
        this.__loop = !!e.loopable;
        this.__parent = i._$get(e.parent);
        this.__selected = e.selected || "js-selected";
        this.__hovered = e.hover || this.__selected;
        this.__nopt = {};
        if (e.clazz) {
            this.__nopt.filter = i._$hasClassName._$bind2(i, e.clazz);
            this.__clazz = e.clazz
        }
        this.__kbody = this.__getKeyBoardParent(this.__parent);
        this.__doInitDomEvent([[this.__kbody, "keydown", this.__doCheckKBAction._$bind(this), !0], [this.__kbody, "enter", this.__doCheckKBEnter._$bind(this)], [this.__parent, "click", this.__onCheckClick._$bind(this)], [this.__parent, "mouseover", this.__onCheckHover._$bind(this)], [this.__parent, "mouseleave", this.__onCheckLeave._$bind(this)]])
    };
    _.__destroy = function () {
        this.__super();
        delete this.__selected;
        delete this.__hovered;
        delete this.__parent;
        delete this.__kbody;
        delete this.__clazz;
        delete this.__nopt;
        delete this.__loop
    };
    _.__isItemElement = function (e) {
        if (this.__clazz) return i._$hasClassName(e, this.__clazz); else return e.parentNode == this.__parent
    };
    _.__getKeyBoardParent = function () {
        var e = 1e3;
        return function (t) {
            for (; t && (parseInt(t.tabIndex) || 0) <= e;) t = t.parentNode;
            return t || document
        }
    }();
    _.__getItemElement = function (e) {
        var t = i._$getByClassName(this.__parent, e);
        return !t ? null : t[0]
    };
    _.__doSyncSelection = function (e, t) {
        i._$delClassName(e.last, t);
        i._$addClassName(e.target, t);
        if (t == this.__selected && e.last != e.target) {
            this.__doScrollToView(e.target);
            this._$dispatchEvent("onchange", e)
        }
    };
    _.__doScrollToView = function (e) {
        var t = i._$getScrollViewPort(e), n = i._$offset(e, t);
        if (!(n.y - t.scrollTop < 0)) {
            var s = n.y + e.offsetHeight - t.clientHeight;
            if (s > t.scrollTop) t.scrollTop = s
        } else t.scrollTop = n.y
    };
    _.__doParseSelection = function (e, t) {
        var i = n._$getElement(e, this.__isItemElement._$bind(this));
        return !i ? null : {last: this.__getItemElement(t), target: i}
    };
    _.__doCheckKBAction = function (e) {
        var t = e.keyCode;
        if (38 == t || 40 == t) {
            n._$stop(e);
            var s = {last: this._$getSelectedNode()};
            this.__nopt.backward = 38 == t;
            var r = !this.__clazz ? i._$getChildren(this.__parent) : i._$getByClassName(this.__parent, this.__clazz),
                a = this.__nopt.backward ? r[r.length - 1] : r[0];
            if (!s.last) s.target = this.__getItemElement(this.__hovered) || a; else s.target = i._$getSibling(s.last, this.__nopt);
            if (!s.target) {
                if (!this.__loop || r.length <= 1) return;
                s.target = a
            }
            this.__doSyncSelection(s, this.__selected)
        }
    };
    _.__doCheckKBEnter = function (e) {
        n._$stop(e);
        this._$dispatchEvent("onselect", {enter: !0, target: this._$getSelectedNode()})
    };
    _.__onCheckClick = function (e) {
        n._$stop(e);
        var t = this.__doParseSelection(e, this.__selected);
        if (t) {
            this.__doSyncSelection(t, this.__selected);
            this._$dispatchEvent("onselect", {target: t.target})
        }
    };
    _.__onCheckHover = function (e) {
        var t = this.__doParseSelection(e, this.__hovered);
        if (t) {
            this.__doSyncSelection(t, this.__hovered);
            if (this.__kbody.focus) this.__kbody.focus()
        }
    };
    _.__onCheckLeave = function (e) {
        if (this.__hovered != this.__selected) i._$delClassName(this.__getItemElement(this.__hovered), this.__hovered)
    };
    _._$getSelectedNode = function () {
        return this.__getItemElement(this.__selected)
    };
    if (!0) e.copy(e.P("nej.ut"), r);
    return r
}, "eddda1e8e7971753192ee8d61ef1680e", "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "b75e70b49b58692524630910fc7d379f");
I$("adb5659f895512ea176bea2b2a616195", function (e, t, i, n, s, r, a, o, c) {
    var _;
    r._$$Suggest = t._$klass();
    _ = r._$$Suggest._$extend(n._$$EventTarget);
    _.__init = function () {
        this.__sopt = {
            loopable: !0,
            onselect: this.__onSelect._$bind(this),
            onchange: this.__onSelectionChange._$bind(this)
        };
        this.__super()
    };
    _.__reset = function (e) {
        this.__super(e);
        this.__auto = !!e.autofill;
        this.__input = i._$get(e.input);
        this.__sopt.clazz = e.clazz;
        this.__sopt.parent = i._$get(e.body);
        this.__sopt.selected = e.selected || "js-selected";
        this.__doInitDomEvent([[this.__input, "input", this.__onInput._$bind(this)], [this.__input, "focus", this.__onInput._$bind(this)]]);
        if (!e.noblur) this.__doInitDomEvent([[this.__input, "blur", this.__onBlur._$bind(this)]]);
        this._$visibile(!1);
        this.__helper = s._$$SelectHelper._$allocate(this.__sopt)
    };
    _.__destroy = function () {
        this.__super();
        if (this.__helper) {
            this.__helper._$recycle();
            delete this.__helper
        }
        delete this.__xxx;
        delete this.__input;
        delete this.__sopt.parent
    };
    _.__onBlur = function () {
        this.__onSelect({target: this.__helper._$getSelectedNode()})
    };
    _.__onInput = function () {
        var e = this.__input.value.trim();
        if (!e) this._$visibile(!1); else if (!this.__xxx) this._$dispatchEvent("onchange", e)
    };
    _.__doUpdateValue = function (e) {
        if (!this.__xxx) {
            this.__xxx = !0;
            if (e && e != this.__input.value) this.__input.value = e;
            this.__xxx = !1
        }
    };
    _.__onSelect = function (e) {
        if ("hidden" != i._$getStyle(this.__sopt.parent, "visibility")) {
            var t = i._$dataset(e.target, "value") || "";
            this.__doUpdateValue(t);
            t = t || this.__input.value;
            this._$update("");
            this._$dispatchEvent("onselect", t, {target: e.target, enter: e.enter, value: t})
        }
    };
    _.__onSelectionChange = function (e) {
        if (this.__auto) this.__doUpdateValue(i._$dataset(e.target, "value") || "")
    };
    _._$setList = function (e) {
        this._$visibile(!!e && e.length > 0)
    };
    _._$visibile = function (e) {
        var e = !e ? "hidden" : "visible";
        this.__sopt.parent.style.visibility = e;
        if ("hidden" === e) this.__sopt.parent.innerHTML = ""
    };
    _._$update = function (e) {
        this.__sopt.parent.innerHTML = e || "&nbsp;";
        this._$visibile(!!e)
    };
    if (!0) e.copy(e.P("nej.ut"), r);
    return r
}, "eddda1e8e7971753192ee8d61ef1680e", "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "b75e70b49b58692524630910fc7d379f", "463114e8a272846e4c40906e94261b60");
I$("ad14cce95911c819e5aac8028f7515be", ".#<uispace>-parent{position:relative;}\n.#<uispace>{position:absolute;border:1px solid #aaa;background:#fff;text-align:left;visibility:hidden;}\n.#<uispace> .zitm{height:20px;line-height:20px;cursor:default;}\n.#<uispace> .js-selected{background:#1257F9;}");
I$("a4ca7c8e13af6ad56809fad782fbc6e9", '{if defined("xlist")&&!!xlist.length}\n  {list xlist as x}<div class="zitm" data-value="${x}">${x}</div>{/list}\n{/if}');
I$("e0bb0da6f7024b41d8cdfca433929fe5", function (e, t, i, n, s, r, a, o, c, _, d, f, h) {
    var l = i._$pushCSSText(o), u = a._$add(c), p;
    _._$$Suggest = t._$klass();
    p = _._$$Suggest._$extend(s._$$Abstract);
    p.__init = function () {
        this.__sopt = {onchange: this.__onChange._$bind(this), onselect: this.__onSelect._$bind(this)};
        this.__super()
    };
    p.__reset = function (e) {
        this.__super(e);
        this.__sopt.autofill = 0 != e.autofill;
        this.__sopt.input = i._$get(e.input);
        this.__sopt.input.insertAdjacentElement("afterEnd", this.__body);
        this.__suggest = r._$$Suggest._$allocate(this.__sopt)
    };
    p.__destroy = function () {
        if (this.__suggest) {
            this.__suggest._$recycle();
            delete this.__suggest
        }
        this.__super();
        delete this.__sopt.input
    };
    p.__initXGui = function () {
        this.__seed_css = l
    };
    p.__initNode = function () {
        this.__super();
        this.__sopt.body = this.__body
    };
    p.__onChange = function (e) {
        this._$dispatchEvent("onchange", e)
    };
    p.__onSelect = function (e, t) {
        this._$dispatchEvent("onselect", e, t)
    };
    p._$setList = function (e, t) {
        if (n._$isArray(e)) e = a._$get(u, {xlist: e});
        this.__body.innerHTML = e || "";
        this.__suggest._$setList(!t ? i._$getChildren(this.__body) : i._$getByClassName(this.__body, t))
    };
    if (!0) e.copy(e.P("nej.ui"), _);
    return _
}, "eddda1e8e7971753192ee8d61ef1680e", "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "0ce1cf574f7be23168d864b3fb81d053", "df9d93a61ae210b34038e92b4416342a", "adb5659f895512ea176bea2b2a616195", "83c67d5b20eeffc1f687e113ae22189f", "ad14cce95911c819e5aac8028f7515be", "a4ca7c8e13af6ad56809fad782fbc6e9");
I$("42cfcb0d5ca074b03c888828877bcfd5", function (e, t, i, n, s, r, a, o, c, _, d, f, h) {
    var l, u = /^[\w-\.@]*$/i;
    _._$$Input = e._$klass();
    l = _._$$Input._$extend(r._$$EventTarget);
    l.__init = function (e) {
        this.__super(e)
    };
    l.__destroy = function () {
        this.__saveInputValue = null;
        this.__focusTimeout = clearTimeout(this.__focusTimeout);
        this.__blurTimeout = clearTimeout(this.__blurTimeout);
        n._$clearEvent(this.__input);
        n._$clearEvent(this.__label);
        this.__super()
    };
    l.__reset = function (e) {
        this.__super(e);
        this.__opts = e.opts || {};
        this.__input = e.node;
        this.__form = e.form;
        this.__isLogin = e.isLogin || 0;
        this.__inputBox = a._$getParent(this.__input, "inputbox");
        this.__clearBtn = i._$getByClassName(this.__inputBox, "u-tip")[0];
        this.__pwdtext = i._$get("pwdtext");
        this.__needClose = e.needClose;
        this.__isUsername = e.isUsername;
        this.__domain = e.domain;
        this.__needEye = this.__opts.needEye;
        if (this.__needEye) this.__hasEye = e.isPwd; else this.__hasEye = 0;
        if (this.__isLogin && this.__hasEye && !this.__clearBtn2) {
            i._$addClassName(this.__clearBtn, "m-eye-close");
            var t = i._$create("div", "u-tip-eye m-eye u-pwdshow");
            t.innerHTML = c._$get("eye-tmp", {});
            this.__clearBtn2 = t;
            this.__clearBtn.insertAdjacentElement("beforeBegin", this.__clearBtn2)
        }
        this.__enterNode = e.enterNode;
        this.__label = i._$getByClassName(this.__inputBox, "u-label")[0];
        var n = this.__supportPH();
        var s = i._$dataset(this.__input, "placeholder");
        if (this.__label) if (!n) i._$delClassName(this.__label, "f-dn"); else {
            i._$addClassName(this.__label, "f-dn");
            i._$attr(this.__input, "placeholder", s);
            if (this.__pwdtext) {
                var r = i._$dataset(this.__pwdtext, "placeholder");
                i._$attr(this.__pwdtext, "placeholder", r)
            }
        }
        this.__initEvent();
        if (this.__isUsername) this.__initSuggest()
    };
    l.__initEvent = function () {
        var e = [[this.__label, "click", this.__doFocus._$bind(this)], [this.__input, "focus", this.__onFocus._$bind(this)], [this.__input, "blur", this.__onBlur._$bind(this)], [this.__input, "input", this.__onInput._$bind(this, 0)], [this.__input, "keyup", this.__doEnter._$bind(this)]];
        if (window._$ISIOS && window && "ontouchend" in window) e.push([this.__input, "touchend", this.__doHackFocus._$bind(this)]);
        if (this.__hasEye) {
            e.push([this.__pwdtext, "blur", this.__onBlur._$bind(this)]);
            e.push([this.__pwdtext, "focus", this.__onFocus._$bind(this)]);
            e.push([this.__pwdtext, "input", this.__onInput._$bind(this, 1)]);
            e.push([this.__pwdtext, "keyup", this.__doEnter._$bind(this)]);
            e.push([this.__clearBtn2, "click", this.__onEye._$bind(this)]);
            e.push([this.__clearBtn, "click", this._$onClear._$bind(this, 2)]);
            if (window._$ISIOS && window && "ontouchend" in window) e.push([this.__pwdtext, "touchend", this.__doHackFocus._$bind(this)])
        } else if (this.__needClose) e.push([this.__clearBtn, "click", this._$onClear._$bind(this, 2)]);
        this.__doInitDomEvent(e)
    };
    l.__doHackFocus = function (e) {
        try {
            if (document.activeElement && e && document.activeElement === e.target) {
                window.focus();
                setTimeout(function () {
                    e.target.focus()
                }, 0)
            }
        } catch (t) {
        }
    };
    l.__supportPH = function () {
        var e = t._$KERNEL;
        if ("trident" == e.engine && parseInt(e.release, 10) <= 5) return 0; else return 1
    };
    l.__doEnter = function (e) {
        var t = n._$getElement(e), i = t.name;
        if ("password" == i && 13 != e.keyCode) this._$dispatchEvent("onPwdKeyUp");
        if (13 == e.keyCode) n._$dispatchEvent(this.__enterNode, "click")
    };
    l.__onEye = function () {
        var e;
        if (!this.__pwdtext.disabled) if (i._$hasClassName(this.__clearBtn2, "eyeactive")) {
            e = this.__pwdtext.value;
            i._$delClassName(this.__clearBtn2, "eyeactive");
            i._$setStyle(this.__pwdtext, "zIndex", -1);
            this.__input.value = e;
            try {
                this.__input.focus()
            } catch (t) {
            }
            this.__moveToEnd(this.__input)
        } else {
            e = this.__input.value;
            this.__setPwdText(e);
            i._$addClassName(this.__clearBtn2, "eyeactive");
            i._$setStyle(this.__pwdtext, "zIndex", 1);
            try {
                this.__pwdtext.focus()
            } catch (t) {
            }
            this.__moveToEnd(this.__pwdtext)
        }
    };
    l.__moveToEnd = function (e) {
        var t;
        var i = e.value.length;
        if (e.createTextRange) {
            t = e.createTextRange();
            t.moveStart("character", i);
            t.collapse(!0);
            t.select()
        }
    };
    l.__setPwdText = function (e) {
        this.__pwdtext.value = e
    };
    l.__doFocus = function () {
        try {
            if (i._$hasClassName(this.__clearBtn2, "eyeactive")) this.__pwdtext.focus(); else this.__input.focus()
        } catch (e) {
        }
    };
    l.__onFocus = function () {
        if (this.__blurTimeout) this.__blurTimeout = clearTimeout(this.__blurTimeout);
        this._$dispatchEvent("onClearInptTimeout", this.__input);
        var e;
        if (this.__pwdtext && i._$hasClassName(this.__input, "dlpwd")) {
            e = i._$getStyle(this.__pwdtext, "zIndex");
            if ("1" === e) try {
                this.__pwdtext.focus()
            } catch (t) {
            }
        }
        i._$replaceClassName(this.__inputBox, "error-color", "active");
        if ("password" == this.__input.id && !this.__firstFocus) {
            this.__input.value = "";
            this.__firstFocus = 1
        }
        if (this.__clearBtn && this.__needEye && "" != this.__input.value) i._$setStyle(this.__clearBtn, "display", "block");
        this.__focusTimeout = setTimeout(function () {
            this._$dispatchEvent("onfocus", this.__input)
        }._$bind(this), window._$inputTime)
    };
    l.__onBlur = function () {
        if (this.__focusTimeout) this.__focusTimeout = clearTimeout(this.__focusTimeout);
        this._$dispatchEvent("onClearInptTimeout", this.__input);
        this.__blurTimeout = setTimeout(function () {
            var e = i._$dataset(this.__input, "loginname");
            if ("loginEmail" == e) this.__input.value = a._$emailFilter(this.__input.value);
            var t = this.__form._$checkValidity(this.__input);
            i._$delClassName(this.__inputBox, "active");
            if (this.__clearBtn && this.__needEye) i._$setStyle(this.__clearBtn, "display", "none");
            this._$dispatchEvent("onstate", t, this.__input)
        }._$bind(this), window._$inputTime)
    };
    l.__onInput = function (e) {
        var t = this.__input;
        if (e) this.__input.value = this.__pwdtext.value;
        var n = (t.value || "").length;
        if (this.__needClose) i._$setStyle(this.__clearBtn, "display", n > 0 ? "block" : "none");
        if (n > 0) this.__label.style.display = "none"; else if (0 == n) this.__label.style.display = "block";
        this._$dispatchEvent("onInput", t, 1)
    };
    l.__initSuggest = function () {
        var e = function (e, t, i) {
            i = i ? " " + i : "";
            var n = a._$HtmlEncode(e + t);
            return '<div class="itm' + i + '" data-value=' + n + ">" + n + "</div>"
        };
        var t = function (t) {
            var n = [];
            if (u.test(t)) {
                if (t.indexOf("@") == -1) s._$forEach(this.__suffix, function (i) {
                    var s = e(t, i);
                    n.push(s)
                }); else {
                    var r = t.split("@"), a = r[0], o = r[1];
                    if (t.match(/@/g).length > 1) n = []; else if (!o) s._$forEach(this.__suffix, function (i) {
                        i = i.split("@")[1];
                        var s = e(t, i);
                        n.push(s)
                    }); else if (o.indexOf(".com") > -1) n = []; else s._$forEach(this.__suffix, function (t) {
                        if (1 == t.indexOf(o)) {
                            var i = e(a, t);
                            n.push(i)
                        }
                    })
                }
                if (n[0]) n[0] = n[0].replace('class="itm"', 'class="itm js-selected"');
                this.__suggest._$setList(n.join(""));
                i._$get("account-box").style.zIndex = "500"
            } else this.__suggest._$setList(n.join(""))
        };
        var r = function (e) {
            if (!window.outlinkflag) {
                i._$get("account-box").style.zIndex = "0";
                this.__suggest._$setList([]);
                this._$dispatchEvent("onClearEmailTimeout");
                if (!this.__checkIpt(e, "email")) a._$showError(this.__input, "帐号格式错误", "nerror"); else a._$removeError(this.__input, "nerror");
                if (window.$autoFocus) this._$dispatchEvent("onFocusNext")
            }
        };
        var c = function () {
            i._$get("account-box").style.zIndex = "1"
        };
        return function () {
            this.__suffix = this.__suffix || ["@163.com", "@126.com", "@yeah.net", "@188.com", "@vip.163.com", "@vip.126.com"];
            if (this.__suggest) this.__suggest = o._$$Suggest._$recycle(this.__suggest);
            var e = a._$getParent(this.__input, "u-input");
            if (!this.__suggest) {
                n._$delEvent(this.__input, "blur", c);
                n._$addEvent(this.__input, "blur", c);
                this.__suggest = o._$$Suggest._$allocate({
                    parent: e,
                    clazz: "m-sug",
                    input: this.__input,
                    autofill: !1,
                    onchange: t._$bind(this),
                    onselect: r._$bind(this)
                })
            }
        }
    }();
    l.__checkIpt = function () {
        var e = {email: /^[\w-\.]+@(?:[\w-]+\.)+[a-z]{2,6}$/i};
        return function (t, i) {
            t = t.trim();
            return e[i].test(t)
        }
    }();
    l._$showCloseBtn = function () {
        if (!this.__needEye) i._$setStyle(this.__clearBtn, "display", "block")
    };
    l._$hideCloseBtn = function () {
        i._$setStyle(this.__clearBtn, "display", "none")
    };
    l._$setSuggest = function (e) {
        this.__suffix = e;
        this.__initSuggest()
    };
    l._$hideLabel = function () {
        this.__label.style.display = "none"
    };
    l._$onClear = function (e) {
        var t;
        if (!this.__input.disabled) {
            this.__input.value = "";
            this.__clearBtn.style.display = "none";
            if (this.__clearBtn2 && this.__hasEye) if (this.__pwdtext) this.__pwdtext.value = "";
            this.__label.style.display = "block";
            if ("2" == e) try {
                this.__input.focus();
                if (this.__pwdtext) {
                    t = i._$getStyle(this.__pwdtext, "zIndex");
                    if ("1" === t) this.__pwdtext.focus()
                }
            } catch (s) {
            }
            n._$stop(e);
            this._$dispatchEvent("onInput", this.__input)
        }
    }
}, "05e56106e22a09a56a1098c586c2bfe9", "605054bf841321ed40d652370c40f4e5", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b75e70b49b58692524630910fc7d379f", "0d434f17f93250948578c8948f9f01bf", "e0bb0da6f7024b41d8cdfca433929fe5", "83c67d5b20eeffc1f687e113ae22189f");
I$("7aae1cf82be47f0be5a277c5829eb8e4", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l, u, p) {
    var m, v, g = {email: /^[\w-\.]+@(?:[\w-]+\.)+[a-z]{2,6}$/i, sms: /^[0-9a-zA-Z]{4}$/, pwd: /^[0-9a-zA-Z]{6,16}$/};
    h._$$Login = e._$klass();
    m = h._$$Login._$extend(a._$$Module);
    m.__init = function (e) {
        this.__setTimeoutList = {};
        this.__opts = e.opts || {};
        this.__imgRefreshTip = this.__opts.imgRefreshTip || 0;
        this.__needEye = this.__opts.needEye || 0;
        this.__domainSuffixs = this.__opts.domainSuffixs || "";
        this.__lazyCheck = this.__opts.lazyCheck || 0;
        this.__domainSuffixs = this.__domainSuffixs ? this.__domainSuffixs.split(",") : [];
        this.__placeholder = this.__opts.placeholder || {};
        this.__btnTxt = this.__opts.loginText || "";
        this.__domain = this.__opts.prdomain || "";
        this.__onlyPhone = this.__opts.onlyPhone || 0;
        this.__swidth = this.__opts.swidth || 320;
        if (c._$notURL(this.__opts.forgetpwdlink)) this.__opts.forgetpwdlink = "";
        this.__forgetpwdlink = this.__opts.forgetpwdlink || "//reg.163.com/resetpwd/index.do";
        this.__unLoginText = this.__opts.unLoginText || "十天内免登录";
        this.__server = "captcha.reg.163.com/v2";
        if (this.__opts.productKey) this.__opts.productkey = this.__opts.productKey;
        this.__productkey = this.__opts.productkey;
        this.__hintTxt = this.__opts.hintTxt || "按住滑块，拖动完成上方拼图";
        this.__errMsg = c._$HtmlEncode(this.__opts.errMsg || "");
        this.__gotoRegText = this.__opts.gotoRegText || "去注册";
        this.__super()
    };
    m.__slideVerify = function (e) {
        if (3 == this.__opts.version) e.value = e.validate;
        if (e && e.value) this._$verifyCap(e); else this.__cbVftcpEx()
    };
    m.__reset = function (e) {
        this.__slideOpt = {
            element: "ScapTcha",
            staticServer: this.__server,
            apiServer: this.__server,
            captchaId: this.__productkey,
            width: this.__swidth,
            forceHttps: !0,
            alignToSpace: !0,
            hintTxt: this.__hintTxt,
            verifyCallback: this.__slideVerify._$bind(this),
            initCallback: this.__initCallback._$bind(this),
            initErrorHandler: this.__initErrorHandler._$bind(this)
        };
        this.__ipts = [];
        this.__product = this.__opts.product || "";
        this.__pkid = this.__opts.promark || "";
        this.__super(e);
        this.__resetInput();
        this.__imgLock = 0;
        this._$hideCheckCode();
        this.codeTryTime = 0
    };
    m.__resetInput = function () {
        if (this.__nameinput) {
            this.__nameinput.disabled = !1;
            this.__nameinput.value = ""
        }
        if (this.__passwordinput) {
            this.__passwordinput.disabled = !1;
            this.__passwordinput.value = ""
        }
        if (this.__smscode) {
            this.__smscode.disabled = !1;
            this.__smscode.value = ""
        }
        if (this.__pwdtext) {
            this.__pwdtext.disabled = !1;
            this.__pwdtext.value = ""
        }
    };
    m.__destroy = function () {
        c._$removeError3();
        this.__super()
    };
    m.__initNode = function () {
        this.__super();
        this.__checkCode = t._$getByClassName(this.__body, "ckbox")[0];
        this.__slideCapBox = t._$getByClassName(this.__body, "slidebox")[0];
        this.__cdImg = t._$getByClassName(this.__body, "ckimg")[0];
        this.__cklink = t._$getByClassName(this.__body, "j-cklink")[0];
        this.__olist = t._$getByClassName(this.__body, "olist")[0];
        this.__footer = t._$getByClassName(document, "m-footer")[0];
        this.__loginBtn = t._$getByClassName(this.__body, "u-loginbtn")[0]
    };
    m.__initXGui = function () {
        var e = this.__parseOauth();
        var t = "登&nbsp;&nbsp;录";
        if (this.__btnTxt) t = c._$HtmlEncode(this.__btnTxt);
        v = s._$addNodeTemplate(r._$get("login-tmp", {
            config: e || [],
            btnTxt: t,
            gotoRegText: this.__gotoRegText,
            unLoginText: this.__unLoginText,
            forgetpwdlink: this.__forgetpwdlink,
            imgRefreshTip: this.__imgRefreshTip
        }));
        this.__seed_html = v
    };
    m.__parseOauth = function () {
        return c._$parseOauth()
    };
    m.__initEvent = function () {
        this.__inputs = t._$getByClassName(this.__body, "j-inputtext");
        if (this.__needEye) this.__pwdtext = t._$get("pwdtext");
        this.__nameinput = this.__inputs[0];
        this.__passwordinput = this.__inputs[1];
        this.__smscode = this.__inputs[2];
        var e;
        if (0 === this.__ipts.length) {
            this.__setPlaceHolder();
            n._$forEach(this.__inputs, function (t, i) {
                var n = {
                    opts: this.__opts,
                    node: t,
                    isLogin: 1,
                    form: this.__form,
                    needClose: 1,
                    onfocus: this.__onFocus._$bind(this),
                    onInput: this.__onInput._$bind(this),
                    onPwdKeyUp: this.__onPwdKeyUp._$bind(this),
                    onFocusNext: this.__onFocusNext._$bind(this),
                    onClearInptTimeout: this.__onClearInptTimeout._$bind(this)
                };
                if (!i) if (this.__onlyPhone) {
                    n.isUsername = 0;
                    n.domain = "@163.com"
                } else {
                    n.isUsername = this.__domain ? 0 : 1;
                    n.domain = this.__domain
                }
                if (1 == i) n.isPwd = 1;
                e = _._$$Input._$allocate(n);
                if (!i && this.__domainSuffixs && this.__domainSuffixs.length > 0) e._$setSuggest(this.__domainSuffixs);
                this.__ipts.push(e)
            }._$bind(this))
        }
        var i = [[this.__cdImg, "click", this._$getCheckCode._$bind(this)], [this.__olist, "click", this._$doThirdLogin._$bind(this)]];
        if (this.__cklink) i.push([this.__cklink, "click", this._$getCheckCode._$bind(this)]);
        this.__doInitDomEvent(i)
    };
    m._$doThirdLogin = function (e) {
        c._$doThirdLogin(e)
    };
    m.__onPwdKeyUp = function () {
        this._$dispatchEvent("onPwdKeyUp")
    };
    m.__onFocusNext = function () {
        this._stopEnter = 1;
        try {
            this.__inputs[1].focus()
        } catch (e) {
        }
    };
    m.__onFocus = function (e) {
        c._$removeError(e, "nerror")
    };
    m.__onClearInptTimeout = function (e) {
        var t = e.name;
        if (this.__setTimeoutList["invalid" + t]) this.__setTimeoutList["invalid" + t] = clearTimeout(this.__setTimeoutList["invalid" + t]);
        if (this.__setTimeoutList["valid" + t]) this.__setTimeoutList["valid" + t] = clearTimeout(this.__setTimeoutList["valid" + t])
    };
    m.__initForm = function () {
        if (!this.__form) this.__form = o._$$WebForm._$allocate({
            form: "login-form",
            domain: this.__domain || null,
            onlyPhone: this.__onlyPhone || 0,
            oninvalid: function (e) {
                var n = "请输入", s = e.code, r = i._$getElement(e), a = r.name;
                if (!window.outlinkflag) {
                    this.__clearTimeout(a);
                    if ("checkcode" == a && t._$hasClassName(this.__checkCode, "f-dn") && this.__needSlideCap) e.ignore = 1;
                    this.__setTimeoutList["invalid" + a] = setTimeout(function (i) {
                        var a = i;
                        if ("checkcode" != a || !t._$hasClassName(this.__checkCode, "f-dn")) if ("slidecap" != a || !this.__needSlideCap) {
                            if (s == -1) {
                                if ("email" == a) {
                                    n += "帐号";
                                    if (this.__onlyPhone) n = "手机号输入有误"
                                } else if ("password" == a) n += "密码"; else if ("checkcode" == a) n = "请输入图片验证码"
                            } else if (s == -4 || s == -2 || s == -3) {
                                n = "格式错误";
                                if ("email" == a) {
                                    n = "帐号" + n;
                                    if (this.__onlyPhone) n = "手机号输入有误"
                                } else if ("password" == a) n = "密码" + n; else if ("checkcode" == a) n = "请输入图片验证码"
                            }
                            if ("slidecap" == a && !this.__needSlideCap) this.__states[a] = 0; else this.__states[a] = 1;
                            if (s != -1) this.__checkList(r, n)
                        } else if (!this.__vSlide()) this.__states["slidecap"] = 0; else this.__states["slidecap"] = 1; else {
                            if (this.__needSlideCap) e.ignore = 1;
                            this.__states[a] = 0
                        }
                    }._$bind(this, a), 100);
                    e.stopped = !0
                } else if (!this.__refocus && 1 == window.outlinkflag) this.__refocus = setTimeout(function () {
                    this.__refocus = clearTimeout(this.__refocus);
                    try {
                        r.focus()
                    } catch (e) {
                    }
                }._$bind(this), 200)
            }._$bind(this),
            onvalid: function (e) {
                var t = i._$getElement(e), n = t.name;
                this.__clearTimeout(n);
                this.__setTimeoutList["valid" + n] = setTimeout(function (e) {
                    var i = e;
                    this.__states[i] = 0;
                    this.__hideErrorList(t)
                }._$bind(this, n), 100);
                e.stopped = !0
            }._$bind(this)
        })
    };
    m.__clearTimeout = function (e) {
        if (this.__setTimeoutList["invalid" + e]) this.__setTimeoutList["invalid" + e] = clearTimeout(this.__setTimeoutList["invalid" + e]);
        if (this.__setTimeoutList["valid" + e]) this.__setTimeoutList["valid" + e] = clearTimeout(this.__setTimeoutList["valid" + e])
    };
    m.__hideErrorList = function (e) {
        var i = e.name;
        if ("email" == i) {
            var n = e.value.indexOf("@") != -1 ? e.value.substring(e.value.indexOf("@")).toLocaleLowerCase() : this.__domain;
            if (!n) n = e.value;
            _gaq.push(["_trackEvent", "登录步骤", "【1】帐号输入", "输入成功：" + n])
        } else if ("password" == i) _gaq.push(["_trackEvent", "登录步骤", "【2】密码输入", "输入" + (e.value || "").length + "位密码"]); else if ("checkcode" == i && !t._$hasClassName(this.__checkCode, "f-dn")) {
            this.codeTryTime = this.codeTryTime ? this.codeTryTime + 1 : 1;
            _gaq.push(["_trackEvent", "登录步骤", "【3】验证码输入", "图片验证码校验成功,尝试次数：" + this.codeTryTime])
        }
    };
    m.__checkStatus = function (e) {
        var i = e.name;
        if ("password" == i) {
            if (this.__states["email"] && "" != this.__nameinput.value) return
        } else if ("checkcode" == i && !t._$hasClassName(this.__checkCode, "f-dn")) if (this.__states["password"] && "" != this.__passwordinput.value || this.__states["email"] && "" != this.__nameinput.value) return;
        return 1
    };
    m.__checkList = function (e, t) {
        if (this.__checkStatus(e)) c._$showError(e, t, "nerror"); else c._$showError2(e, t, "nerror", 1)
    };
    m.__onInput = function (e) {
        setTimeout(this.__checkNextBtn._$bind(this, e), 50)
    };
    m.__checkNextBtn = function (e) {
        var t = this.__vName();
        var i = this.__vPwd();
        var n = this.__vSms();
        var s = this.__vSlide();
        if (e && "checkcode" == e.name) {
            var r = this.__smscode.value.trim();
            this.__smscodeValue = r;
            if (g["sms"].test(r) && !this.__lazyCheck) this.__doCheckSmsCode(r)
        }
        if (!this.__needSlideCap && !this.__needCheckCode) if (!t && !i) this._$dispatchEvent("ondisabled", 0); else this._$dispatchEvent("ondisabled", 1); else if (this.__needSlideCap) if (!t && !i && !s) this._$dispatchEvent("ondisabled", 0); else this._$dispatchEvent("ondisabled", 1); else if (this.__needCheckCode) if (!t && !i && !n) this._$dispatchEvent("ondisabled", 0); else this._$dispatchEvent("ondisabled", 1)
    };
    m.__vSms = function () {
        var e = this.__smscode.value.trim();
        if (g["sms"].test(e)) return 0; else return 1
    };
    m.__doCheckSmsCode = function (e) {
        if (!this.__checkSmsCodeLock) {
            this.__checkSmsCodeLock = 1;
            var t = this.__nameinput.value.trim();
            t = this.__domain ? c._$formatUn(t) + this.__domain : t;
            var i = {cap: e, pd: this.__product, pkid: this.__pkid};
            i.un = t;
            if (this.__onlyPhone) i.mbl = 1;
            d._$request("checkSmsCode", i, this.__cbSmsCode._$bind(this), this.__ckSmsCodeEx._$bind(this, "验证码输入错误"), 1, this.__product)
        }
    };
    m.__cbSmsCode = function () {
        this.__checkSmsCodeLock = 0;
        this.__imgLock = 1;
        this.__smscode.disabled = !0;
        this.__ipts[2]._$hideCloseBtn();
        t._$getByClassName(document, "u-tip")[3].style.display = "block";
        c._$removeError(this.__smscode, "nerror")
    };
    m.__ckSmsCodeEx = function (e, t) {
        var i = t.ret;
        this.codeTryTime = this.codeTryTime ? this.codeTryTime + 1 : 1;
        if ("441" == i) {
            this.__needSlideCap = 0;
            this.__needCheckCode = 1;
            this._$refreshCheckCode(i, 1);
            if (1 != e) c._$showError(this.__smscode, e, "nerror")
        } else if ("444" == i || "445" == i) {
            this.__needSlideCap = 1;
            this.__needCheckCode = 0;
            this._$refreshCheckCode(i, 1);
            if (1 != e) {
                if ("444" == i) e = window._$capTxt1;
                if ("445" == i) e = window._$capTxt2;
                c._$showError({name: "slide"}, e, "nerror")
            }
        } else {
            this.__checkSmsCodeLock = 0;
            this._$getCheckCode();
            this.__ipts[2]._$onClear();
            this._$dispatchEvent("ondisabled", 1);
            e = f[i] || c._$getErrorTxt(i) || "验证码输入错误";
            c._$showError(this.__smscode, e, "nerror")
        }
    };
    m.__vName = function () {
        var e = this.__nameinput.value.trim();
        if ("" !== e) return 0; else return 1
    };
    m.__vPwd = function () {
        var e = this.__passwordinput.value.trim();
        if ("" !== e) return 0; else return 1
    };
    m._$setUsername = function (e) {
        try {
            if (e) this._$hideLabel();
            this.__inputs[0].value = e;
            this.__ipts[0]._$showCloseBtn()
        } catch (t) {
        }
    };
    m._$setPwd = function (e) {
        try {
            if (e) this._$hideLabel(1);
            this.__inputs[1].value = e;
            this.__ipts[1]._$showCloseBtn();
            if (this.__pwdtext) this.__pwdtext.value = e
        } catch (t) {
        }
    };
    m._$showCheckCode = function () {
        this.__checkSmsCodeLock = 0;
        this._$hideCheckCode();
        this.__states["checkcode"] = 1;
        this.__needCheckCode = 1;
        t._$delClassName(this.__checkCode, "f-dn");
        this.__imgLock = 0;
        this.__smscode.disabled = !1;
        this._$getCheckCode();
        this.__ipts[2]._$onClear();
        this._$dispatchEvent("ondisabled", 1);
        this.__checkNextBtn();
        var e = t._$get("cnt-box-parent");
        t._$addClassName(e, "hascheckcode");
        setTimeout(function () {
            c._$resize()
        }, 200)
    };
    m._$doFocus = function (e) {
        try {
            if ("pwd" == e) this.__passwordinput.focus();
            if ("username" == e) this.__nameinput.focus()
        } catch (t) {
        }
    };
    m._$getCheckCode = function () {
        if (!this.__imgLock) {
            this.__cdImg.src = MP.getCaptchaLogin(this.__product, this.__pkid, window["$cookieDomain"]);
            t._$getByClassName(document, "u-tip")[3].style.display = "none"
        }
    };
    m._$hideLabel = function (e) {
        if (1 === e) this.__ipts[1]._$hideLabel(); else this.__ipts[0]._$hideLabel()
    };
    m.$clearText = function (e) {
        e.value = ""
    };
    m._$verifyCap = function (e) {
        if (!this.__slideCapLock) {
            this.__slideCapLock = 1;
            var t = {};
            var i = this.__nameinput.value.trim();
            i = this.__domain ? c._$formatUn(i) + this.__domain : i;
            t.un = i;
            if (this.__onlyPhone) t.mbl = 1;
            t.capkey = this.__productkey;
            t.pd = this.__product;
            t.pkid = this.__pkid;
            if (3 == this.__opts.version) t = this.__newVerifyCap(t, e); else t = this.__oldVerifyCap(t);
            var n = 2 == this.__slideTarget ? "vftcp" : "vfccp";
            d._$request(n, t, this.__cbVftcp._$bind(this), this.__cbVftcpEx._$bind(this), 1)
        }
    };
    m._$getSmsValue = function () {
        return this.__smscodeValue
    };
    m._$clearPwd = function (e) {
        this.__ipts[1]._$onClear(e)
    };
    m._$focusHelper = function () {
        try {
            this.__nameinput.focus()
        } catch (e) {
        }
    }
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b07a20e1d9be763162954dd0fcf2feb3", "83c67d5b20eeffc1f687e113ae22189f", "6205908130ee8e8e989660217dba1dd4", "263ef74b9fd197724ac7ba6e1cbc38f5", "0d434f17f93250948578c8948f9f01bf", "42cfcb0d5ca074b03c888828877bcfd5", "4dadb2ee6ba889b538cf0977b4b3cad0", "24009e123f5588d3e0d561f49177981a");
I$("df416050c2dc183b66d58f7a1dd85123", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l, u, p) {
    var m, v, g = {phonecode: 0};
    h._$$Phone = e._$klass();
    m = h._$$Phone._$extend(a._$$Module);
    m.__init = function (e) {
        this.__opts = e.opts || {};
        this.__onlyPhone = this.__opts.onlyPhone || 0;
        this.__super()
    };
    m.__reset = function (e) {
        this.__data = e.data;
        this.__mb = e.mb;
        this.__doback = e.doback;
        this.__ipts = [];
        this.__super(e);
        t._$addClassName(this.__unlockBtn, "btndisabled");
        t._$get("pp_mb").innerHTML = this.__mb;
        this.__canUnlcok = 0
    };
    m.__destroy = function () {
        this.__super()
    };
    m.__initNode = function () {
        this.__super();
        this.__getSmsCode = t._$getByClassName(this.__body, "getsmscode")[0];
        this.__unlockBtn = t._$getByClassName(this.__body, "btncolor")[0]
    };
    m.__initXGui = function () {
        v = s._$addNodeTemplate(r._$get("phone-tmp"));
        this.__seed_html = v
    };
    m.__initEvent = function () {
        this.__inputs = t._$getByClassName(this.__body, "j-inputtext");
        if (0 == this.__ipts.length) n._$forEach(this.__inputs, function (e) {
            var t = {
                opts: this.__opts,
                node: e,
                form: this.__form,
                needClose: 1,
                onfocus: this.__onFocus._$bind(this),
                onInput: this.__onInput._$bind(this)
            };
            this.__ipts.push(_._$$Input._$allocate(t))
        }._$bind(this));
        this.__doInitDomEvent([[this.__getSmsCode, "click", this.__onGetSmsCode._$bind(this)]])
    };
    m.__onFocus = function (e) {
        c._$removeError(e, "nerror")
    };
    m.__onInput = function () {
        var e = this.__inputs[0].value.trim();
        if (/^\d{6}$/.test(e)) {
            t._$delClassName(this.__unlockBtn, "btndisabled");
            this.__canUnlcok = 1;
        } else {
            t._$addClassName(this.__unlockBtn, "btndisabled");
            this.__canUnlcok = 0
        }
    };
    m.__onGetSmsCode = function () {
        if (!this.__lockSmsCode && !this.__sendSmsLoginLock) {
            this.__sendSmsLoginLock = 1;
            if (this.__onlyPhone) this.__data.mbl = 1;
            d._$request("sendSmsLogin", this.__data, this.__cbGetSmsCode._$bind(this), this.__cbWarn._$bind(this), 1)
        }
    };
    m.__cbWarn = function (e) {
        this.__sendSmsLoginLock = 0;
        var t = e.ret, i;
        if (e) if ("411" == t) {
            var n = e.receiveCode.split(",");
            var s = "请您编辑短信<strong> " + (n[0] || "验证") + " </strong>发送到<strong> " + (n[1] || "106981630163331") + " </strong>获取验证码，短信费用由运营商收取";
            c._$showError(null, s, "nerror", 2)
        } else if ("413" == t) c._$showError(null, "下发验证码超过了次数限制，请改天再试", "nerror", 2); else if ("430" == t) this.__doback({errorTxt: "此次登录不需要进行密保验证"}); else {
            i = f[t] || c._$getErrorTxt(e.ret);
            if ("10" == e.dt && "401" == t) i = f["40110"];
            c._$showError(null, i, "nerror")
        }
    };
    m.__cbGetSmsCode = function () {
        var e;
        var i = function () {
            if (0 != e) {
                e--;
                this.__getSmsCode.innerHTML = "重发验证码（" + e + "）"
            } else {
                this.__getSmsCode.innerHTML = "重发验证码";
                t._$delClassName(this.__getSmsCode, "disable");
                this.__getSmsCode.disabled = !1;
                this.__lockSmsCode = 0;
                clearInterval(this.__smsTimerInterval)
            }
        };
        return function () {
            this.__sendSmsLoginLock = 0;
            t._$addClassName(this.__getSmsCode, "disable");
            this.__getSmsCode.disabled = !0;
            this.__lockSmsCode = 1;
            e = 60;
            this.__getSmsCode.innerHTML = "重发验证码（" + e + "）";
            this.__smsTimerInterval = setInterval(i._$bind(this), 1e3)
        }
    }();
    m.__initForm = function () {
        if (!this.__form) this.__form = o._$$WebForm._$allocate({
            form: "phone-form", oninvalid: function (e) {
                var t = "请输入", n = e.code, s = i._$getElement(e), r = s.name;
                if (!window.outlinkflag) {
                    if (n != -1) {
                        if (n == -4 || n == -2 || n == -3) {
                            t = "格式错误";
                            if ("phonecode" == r) t = "短信验证码" + t
                        }
                        this.__states[r] = 1;
                        if ("phonecode" == r) g["phonecode"] = 1;
                        c._$showError(s, t, "nerror");
                        e.stopped = !0
                    } else if ("phonecode" == r) g["phonecode"] = 0
                } else if (!this.__refocus && 1 == window.outlinkflag) this.__refocus = setTimeout(function () {
                    this.__refocus = clearTimeout(this.__refocus);
                    try {
                        s.focus()
                    } catch (e) {
                    }
                }._$bind(this), 200)
            }._$bind(this), onvalid: function (e) {
                var t = i._$getElement(e), n = t.name;
                this.__states[n] = 0;
                e.stopped = !0
            }._$bind(this)
        })
    };
    m._$showReason = function () {
        var e = this.__inputs[0].value.trim();
        if (!this.__canUnlcok && "" == e) c._$showError(null, "请输入短信验证码", "nerror")
    }
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b07a20e1d9be763162954dd0fcf2feb3", "83c67d5b20eeffc1f687e113ae22189f", "6205908130ee8e8e989660217dba1dd4", "263ef74b9fd197724ac7ba6e1cbc38f5", "0d434f17f93250948578c8948f9f01bf", "42cfcb0d5ca074b03c888828877bcfd5", "4dadb2ee6ba889b538cf0977b4b3cad0", "24009e123f5588d3e0d561f49177981a");
I$("97b23dfde6b699429cf1206e6d4cc4e7", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l, u) {
    var p, m, v = {otpcode: 0};
    f._$$OTP = e._$klass();
    p = f._$$OTP._$extend(a._$$Module);
    p.__init = function (e) {
        this.__opts = e.opts || {};
        this.__super()
    };
    p.__reset = function (e) {
        this.__data = e.data;
        this.__ipts = [];
        this.__super(e);
        t._$addClassName(this.__unlockBtn, "btndisabled");
        this.__canUnlcok = 0
    };
    p.__destroy = function () {
        this.__super()
    };
    p.__initNode = function () {
        this.__super();
        this.__unlockBtn = t._$getByClassName(this.__body, "btncolor")[0]
    };
    p.__initXGui = function () {
        m = s._$addNodeTemplate(r._$get("otp-tmp"));
        this.__seed_html = m
    };
    p.__initEvent = function () {
        this.__inputs = t._$getByClassName(this.__body, "j-inputtext");
        this.__clearBtn = t._$getByClassName(this.__body, "u-clear")[0];
        this.__inputBox = c._$getParent(this.__inputs[0], "inputbox");
        this.__label = t._$getByClassName(this.__inputBox, "u-label")[0];
        if (0 == this.__ipts.length) n._$forEach(this.__inputs, function (e) {
            var t = {
                opts: this.__opts,
                node: e,
                form: this.__form,
                needClose: 1,
                onfocus: this.__onFocus._$bind(this),
                onInput: this.__onInput._$bind(this)
            };
            this.__ipts.push(_._$$Input._$allocate(t))
        }._$bind(this))
    };
    p.__onFocus = function (e) {
        c._$removeError(e, "nerror")
    };
    p.__onInput = function () {
        var e = this.__inputs[0].value.trim();
        if (/^\d{6}$/.test(e)) {
            t._$delClassName(this.__unlockBtn, "btndisabled");
            this.__canUnlcok = 1
        } else {
            t._$addClassName(this.__unlockBtn, "btndisabled");
            this.__canUnlcok = 0
        }
    };
    p.__initForm = function () {
        if (!this.__form) this.__form = o._$$WebForm._$allocate({
            form: "otp-form", oninvalid: function (e) {
                var t = "请输入", n = e.code, s = i._$getElement(e), r = s.name;
                if (!window.outlinkflag) if (n != -1) {
                    if (n == -4 || n == -2 || n == -3) t = "动态密码格式错误";
                    this.__states[r] = 1;
                    v["otpcode"] = 1;
                    c._$showError(s, t, "nerror");
                    e.stopped = !0
                } else v["otpcode"] = 0; else if (!this.__refocus && 1 == window.outlinkflag) this.__refocus = setTimeout(function () {
                    this.__refocus = clearTimeout(this.__refocus);
                    try {
                        s.focus()
                    } catch (e) {
                    }
                }._$bind(this), 200)
            }._$bind(this), onvalid: function (e) {
                var t = i._$getElement(e), n = t.name;
                this.__states[n] = 0;
                e.stopped = !0
            }._$bind(this)
        })
    };
    p.__clearInpt = function () {
        this.__label.style.display = "block";
        this.__clearBtn.style.display = "none";
        this.__inputs[0].value = "";
        t._$addClassName(this.__unlockBtn, "btndisabled");
        this.__canUnlcok = 0
    };
    p._$showReason = function () {
        var e = this.__inputs[0].value.trim();
        if (!this.__canUnlcok && "" == e) c._$showError(null, "请输入动态密码", "nerror")
    }
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b07a20e1d9be763162954dd0fcf2feb3", "83c67d5b20eeffc1f687e113ae22189f", "6205908130ee8e8e989660217dba1dd4", "263ef74b9fd197724ac7ba6e1cbc38f5", "0d434f17f93250948578c8948f9f01bf", "42cfcb0d5ca074b03c888828877bcfd5", "4dadb2ee6ba889b538cf0977b4b3cad0");
I$("2f78a9e6c44dc780264106119e13a727", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l, u) {
    var p, m, v = {ppccode: 0};
    f._$$PPC = e._$klass();
    p = f._$$PPC._$extend(a._$$Module);
    p.__init = function (e) {
        this.__opts = e.opts || {};
        this.__super()
    };
    p.__reset = function (e) {
        this.__data = e.data || [];
        this.__mb = e.mb;
        this.__ipts = [];
        this.__super(e);
        this.__setCoord(this.__data.coord);
        t._$addClassName(this.__unlockBtn, "btndisabled");
        this.__canUnlcok = 0
    };
    p.__destroy = function () {
        this.__super()
    };
    p.__initNode = function () {
        this.__super();
        this.__getSmsCode = t._$getByClassName(this.__body, "getsmscode")[0];
        this.__unlockBtn = t._$getByClassName(this.__body, "btncolor")[0]
    };
    p.__initXGui = function () {
        m = s._$addNodeTemplate(r._$get("ppc-tmp"));
        this.__seed_html = m
    };
    p.__initEvent = function () {
        this.__inputs = t._$getByClassName(this.__body, "j-inputtext");
        if (0 == this.__ipts.length) n._$forEach(this.__inputs, function (e) {
            var t = {
                opts: this.__opts,
                node: e,
                form: this.__form,
                needClose: 0,
                onfocus: this.__onFocus._$bind(this),
                onInput: this.__onInput._$bind(this)
            };
            this.__ipts.push(_._$$Input._$allocate(t))
        }._$bind(this))
    };
    p.__onFocus = function (e) {
        c._$removeError(e, "nerror")
    };
    p.__onInput = function () {
        var e = this.__inputs[0].value.trim();
        var i = this.__inputs[1].value.trim();
        var n = this.__inputs[2].value.trim();
        if (/^\d{1,3}$/.test(e) && /^\d{1,3}$/.test(i) && /^\d{1,3}$/.test(n)) {
            t._$delClassName(this.__unlockBtn, "btndisabled");
            this.__canUnlcok = 1
        } else {
            t._$addClassName(this.__unlockBtn, "btndisabled");
            this.__canUnlcok = 0
        }
    };
    p.__initForm = function () {
        if (!this.__form) this.__form = o._$$WebForm._$allocate({
            form: "ppc-form", oninvalid: function (e) {
                var t = "请输入", n = e.code, s = i._$getElement(e), r = s.name;
                if (!window.outlinkflag) {
                    if (n != -1) {
                        if (n == -4 || n == -2 || n == -3) {
                            t = "格式错误";
                            if ("ppccode" == r) t = "验证码" + t
                        }
                        this.__states[r] = 1;
                        if ("ppccode" == r) v["ppccode"] = 1;
                        c._$showError(s, t, "nerror");
                        e.stopped = !0
                    } else if ("ppccode" == r) v["ppccode"] = 0
                } else if (!this.__refocus && 1 == window.outlinkflag) this.__refocus = setTimeout(function () {
                    this.__refocus = clearTimeout(this.__refocus);
                    try {
                        s.focus()
                    } catch (e) {
                    }
                }._$bind(this), 200)
            }._$bind(this), onvalid: function (e) {
                var t = i._$getElement(e), n = t.name;
                this.__states[n] = 0;
                e.stopped = !0
            }._$bind(this)
        })
    };
    p.__setCoord = function (e) {
        if (e) {
            var i = t._$getByClassName(this.__body, "coord"), n = e.split(";") || [];
            i[0].innerHTML = n[0];
            i[1].innerHTML = n[1];
            i[2].innerHTML = n[2]
        }
    };
    p.__clearInpt = function () {
        this.__inputs[0].value = "";
        this.__inputs[1].value = "";
        this.__inputs[2].value = "";
        t._$addClassName(this.__unlockBtn, "btndisabled");
        this.__canUnlcok = 0
    };
    p._$showReason = function () {
        if (!this.__canUnlcok) c._$showError(null, "请正确输入密保卡上对应的数字", "nerror")
    }
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b07a20e1d9be763162954dd0fcf2feb3", "83c67d5b20eeffc1f687e113ae22189f", "6205908130ee8e8e989660217dba1dd4", "263ef74b9fd197724ac7ba6e1cbc38f5", "0d434f17f93250948578c8948f9f01bf", "42cfcb0d5ca074b03c888828877bcfd5", "4dadb2ee6ba889b538cf0977b4b3cad0");
I$("8bdf4bf336ac3e80c5ba9eaf2a14b550", function (e, t, i, n, s, r, a, o, c, _, d, f, h) {
    var l;
    _._$$Manager = e._$klass();
    l = _._$$Manager._$extend(s._$$EventTarget);
    l.__init = function (e) {
        this.__setMap = {};
        this.__product = e.product;
        this.__promark = e.promark;
        window._$errClickHide = e.errClickHide || 0;
        if (this.__options) {
            this.__options.goEmailLoginTxt = this.__options.goEmailLoginTxt || "网易邮箱帐号登录";
            this.__options.goMbLoginTxt = this.__options.goMbLoginTxt || "网易手机帐号登录";
            this.__options.goEmailRegTxt = this.__options.goEmailRegTxt || "网易邮箱帐号注册";
            this.__options.goMbRegTxt = this.__options.goMbRegTxt || "网易手机帐号注册"
        }
        this.__super(e)
    };
    l.__reset = function (e) {
        this.__super(e);
        window.$outLoginKey = this.__options.outLoginKey || "";
        window.$autoFocus = "0" == this.__options.autoFocus ? 0 : 1;
        this.__box = t._$get("cnt-box");
        this.__box2 = t._$get("cnt-box2");
        r._$render(this.__box, "h-tmp");
        this.__initEvent()
    };
    l.__destroy = function () {
        this.__super()
    };
    l.__initEvent = function () {
        var e = "click";
        var i = t._$get("confirm");
        var n = t._$get("cnt-box-parent");
        this.__doInitDomEvent([[i, e, this.__doAction._$bind(this)], [n, e, this.__doAction._$bind(this)], [document, "mouseover", this.__onMouseover._$bind(this)]])
    };
    l.__checkCookie = function (e, t, i) {
    };
    l.__onMouseover = function (e) {
        var n = i._$getElement(e), s = t._$dataset(n, "outlink") || 0;
        window.outlinkflag = s
    };
    l.__changePage = function (e) {
        t._$setStyle(this.__box, "display", e ? "none" : "block");
        t._$setStyle(this.__box2, "display", e ? "block" : "none");
        o._$resize();
        setTimeout(function () {
            this.__sendSize("moduleResize")
        }._$bind(this), 200)
    };
    l.__showFail = function (e) {
        o._$showFail(e)
    };
    l.__showFail2 = function (e) {
        o._$showFail(e)
    };
    l.__showLeak = function (e, t) {
        var i, n;
        var s;
        this.__isLeak = !0;
        if (1 == e) {
            this.__isLeak1 = !0;
            i = t.mode || {};
            s = i.srcList ? i.srcList.join(",") : "";
            r._$render(this.__box2, "exception1-tmp", {
                product: this.__product, promark: this.__promark,
                srclist: s
            })
        } else if (2 == e) {
            this.__isLeak2 = !0;
            r._$render(this.__box2, "exception2-tmp", {product: this.__product, promark: this.__promark})
        } else if (3 == e) {
            this.__isLeak3 = !0;
            r._$render(this.__box2, "exception3-tmp", {product: this.__product, promark: this.__promark})
        } else if (4 == e) {
            i = t.mode || {};
            this.__showMode(i)
        } else if (5 == e) {
            this.__isLeak = !1;
            i = t.mode || {};
            n = i.txt0.split("<br>");
            i.txt1 = n[0] || "";
            i.txt2 = n[1] || "";
            r._$render(this.__box2, "exception4-tmp", i)
        } else if (6 == e) {
            i = t.mode || {};
            s = i.srcList ? i.srcList.join(",") : "";
            r._$render(this.__box2, "exception5-tmp", {btnLink1: i.btnLink1 || "", srclist: s})
        }
        this.__changePage(1)
    };
    l.__showMode = function (e) {
        this.__isMode = 1;
        var t = {product: this.__product, promark: this.__promark};
        var i = e;
        i.srclist = i.srcList ? i.srcList.join(",") : "";
        n._$merge(t, i);
        var s = "exception-tmp-" + (e.mode || 0);
        r._$render(this.__box2, s, t);
        this.__changePage(1)
    };
    l.__sendSize = function (e) {
        o._$resize(e)
    };
    l.__sendClose = function (e) {
        var i = t._$getByClassName(document, "j-inputtext");
        var s = !0;
        n._$forEach(i, function (e) {
            if (e.value) s = !1
        });
        if (e || this.__islogin || s) {
            var r = {type: "close"};
            r["URS-CM"] = 1;
            o._$postMessage("_parent", {data: r})
        } else this.__showConfirm()
    };
    l.__doAction = function (e) {
        var n = i._$getElement(e), s = t._$dataset(n, "action");
        if ("confirmgoon" == s) {
            t._$addClassName(t._$get("confirm"), "f-dn");
            t._$delClassName(t._$get("cnt-box-parent"), "f-dn");
            this.__sendSize("init")
        }
        if ("confirmclose" == s) {
            _gaq.push(["_trackEvent", "注册步骤", "【-】放弃注册", "放弃注册"]);
            var r = {type: "close"};
            r["URS-CM"] = 1;
            o._$postMessage("_parent", {data: r});
            this.__closeFlag = !1
        }
    };
    l.__showConfirm = function () {
        t._$addClassName(t._$get("cnt-box-parent"), "f-dn");
        t._$delClassName(t._$get("confirm"), "f-dn");
        this.__sendSize("init")
    };
    l.__sendMsgDomain = function (e, t) {
        this.__onUnLockLogin && this.__onUnLockLogin();
        this.__onUnLockReg && this.__onUnLockReg();
        this.__sendMsg(e);
        if (t && this.__setDomainsOk) this.__setDomainsOk(t)
    };
    l.__addIframe = function (e, i, n, s) {
        if ("https:" == location.protocol) s = s.replace("http:", "https:");
        var r = "regcksuccess" == e.type ? 0 : 1;
        if (r) {
            s = o._$addPathB(s);
            if (window._$URSOPT.opd) s = s + (s.indexOf("?") >= 0 ? "&" : "?") + "opd=" + window._$URSOPT.opd;
            if (window._$URSOPT.opkid) s = s + (s.indexOf("?") >= 0 ? "&" : "?") + "opkid=" + window._$URSOPT.opkid
        }
        t._$createXFrame({
            src: s, parent: document.body, visible: !1, onload: function () {
                this.__setMap[n].iframeIndex++;
                if (this.__setMap[n].ifarmeSize == this.__setMap[n].iframeIndex) {
                    this.__setMap[n].iframeCt = clearTimeout(this.__setMap[n].iframeCt);
                    this.__sendMsgDomain(e, i)
                }
            }._$bind(this)
        })
    };
    l.__setDomains = function (e, t) {
        var i = e || {};
        t = t || "";
        i["URS-CM"] = 1;
        var s = (new Date).getTime();
        this.__setMap[s] = {};
        this.__setMap[s].iframeIndex = 0;
        var r = i.nextUrls || [];
        this.__setMap[s].ifarmeSize = r.length || 0;
        if (this.__setMap[s].ifarmeSize > 0) this.__setMap[s].iframeCt = setTimeout(function (e, t) {
            this.__sendMsgDomain(e, t)
        }._$bind(this, i, t), 5e3); else this.__sendMsgDomain(i, t);
        n._$forEach(r, this.__addIframe._$bind(this, i, t, s))
    };
    l.__sendMsg = function (e) {
        var t = e || {};
        t["URS-CM"] = 1;
        if (window.$outLoginKey && "success" == t.type) t.fromOutLogin = 1;
        o._$postMessage("_parent", {data: t})
    };
    l.__hideFooter = function () {
        var e = t._$get("footer");
        t._$addClassName(e, "f-dn")
    };
    window.thirdHandler = function (e) {
        var t = {type: "success", isOther: !0, username: e};
        t["URS-CM"] = 1;
        if (window.$outLoginKey) t.fromOutLogin = 1;
        o._$postMessage("_parent", {data: t})
    };
    window.$outLogin = function (e) {
        var t;
        if (e.isOther) window.thirdHandler(e.username); else {
            var i = JSON.stringify(e);
            t = JSON.parse(i);
            t.toOpener = 1;
            o._$postMessage("_parent", {data: t})
        }
    };
    return _
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b75e70b49b58692524630910fc7d379f", "83c67d5b20eeffc1f687e113ae22189f", "4e3477f1faad0e644cf31bd4765e12dc", "0d434f17f93250948578c8948f9f01bf", "f4dec1b84700c9cc21c1a3746102e1f6");
I$("d240dbd785e56674fcebcea02cbcb6c4", function (e, t, i, n, s, r, a, o, c, _, d) {
    var f = "https://reg.163.com/services/getqrcodeid";
    var h = "https://reg.163.com/services/getUrlQrcode";
    var l = "https://reg.163.com/services/qrcodeauth";
    o._$initQr = function (e) {
        if (!e) e = [];
        this.__totalState = 0;
        this.__ticket = "";
        this.__domain = "";
        this.__fromModule = e.fromModule || "";
        this.__domains = e.domains || "";
        this.__prdomain = e.prdomain || "";
        this.__product = e.product || "urs";
        this.__promark = e.promark;
        this.__usage = e.usage || 0;
        this.__size = e.size || "200";
        this.__format = e.format || "png";
        this.__qrcodeDom = e.qrcodeDom || null;
        this.__imgDom = e.imgDom || null;
        this.__oWarmDom = e.oWarmDom || null;
        this.__qrSuccDom = e.qrSuccDom || null;
        this.__qrBackBrn = e.qrBackDom || null;
        this.__pollingSec = e.pollingSec || 2e3;
        this.__maxPollingTimes = e.maxPollingTimes || 150;
        this.__completePollingTimes = e.completePollingTimes || 60;
        this.__qrLoginSucc = e.qrLoginSucc || this.__qrLoginSucc;
        this.__qrLoginErr = e.qrLoginErr || this.__qrLoginErr;
        this.__confirmLogin = e.confirmLogin || this.__confirmLogin;
        this.__scanIsComplete = e.scanIsComplete || this.__scanIsComplete;
        this.__codeLose = e.codeLose || this.__codeLose;
        this.__oWarmDom.onclick = function () {
            o.__changeState(1)
        };
        this.__qrBackBrn.onclick = function () {
            o.__changeState(1)
        };
        this.__changeState(1)
    };
    o.__changeState = function (e) {
        switch (e) {
            case 0:
                this._$clearAllStatus();
                this.__hideScanSucc();
                this.__showQrcodeM();
                this.__showOWarm();
                this.__totalState = 0;
                break;
            case 1:
                this.__hideScanSucc();
                this.__showQrcodeM();
                this.__getQrcode();
                this.__hideOWarm();
                this.__totalState = 1;
                break;
            case 2:
                this.__hideQrcodeM();
                this.__showScanSucc();
                this.__totalState = 2
        }
    };
    o.__getQrcode = function () {
        var e = this;
        if (1 !== this.__totalState) {
            var t = function (t) {
                t = JSON.parse(t["content"]);
                e.__qrId = t["l"]["i"];
                if (e.__qrId) e.__showQrcode(e.__imgDom)
            };
            var i = {product: this.__product, usage: this.__usage};
            a._$requestJsonp(f, i, t)
        }
    };
    o.__showQrcode = function (e) {
        e.src = h + "?uuid=" + this.__qrId + "&size=" + this.__size + "&format=" + this.__format + "&rtid=" + a._$getRtid() + "&" + (new Date).getTime();
        this.__restartTiming(0)
    };
    o.__restartTiming = function (e) {
        var t = this;
        this.__qrTiming = 0;
        var i = this.__pollingSec;
        var n = 0 == e ? this.__maxPollingTimes : this.__completePollingTimes;
        if (this.__checkQrStIntv) clearInterval(t.__checkQrStIntv);
        this.__checkQrStIntv = setInterval(function () {
            t.__qrTiming++;
            t.__checkQrStatus();
            if (t.__qrTiming >= n) {
                clearInterval(t.__checkQrStIntv);
                t.__changeState(0);
                t.__codeLose()
            }
        }, i)
    };
    o.__checkQrStatus = function () {
        var e = this;
        var t = function (t) {
            var i = t.retCode;
            switch (i) {
                case"200":
                    if (0 == e.__totalState) break;
                    e.__changeState(2);
                    e.__ticket = t.ticket;
                    e.__domain = t.domain;
                    e.__confirmLogin(t);
                    e._$clearAllStatus();
                    e.__doQrLogin(t);
                    break;
                case"401":
                    if (1 != e.__totalState) break;
                    e.__changeState(0);
                    e.__codeLose(t);
                    break;
                case"404":
                    if (1 != e.__totalState) break;
                    e.__changeState(0);
                    e.__codeLose(t);
                    break;
                case"408":
                    break;
                case"409":
                    if (1 != e.__totalState) break;
                    e.__scanIsComplete(t);
                    e.__changeState(2);
                    e.__restartTiming(1);
                    break;
                case"500":
                    if (1 != e.__totalState) break;
                    e.__codeLose(t);
                    e.__changeState(0)
            }
        };
        var i = {uuid: this.__qrId, product: this.__product};
        a._$requestJsonp(l, i, t)
    };
    o.__doQrLogin = function (e) {
        var t = this;
        var i = function (e) {
            var i = e.ret;
            if ("201" == i) {
                var n = e.username;
                n.indexOf("@") === -1 ? n += "@163.com" : null;
                if (!t.__prdomain || n.substring(n.indexOf("@")) == t.__prdomain) t.__qrLoginSucc(n, e); else {
                    t.__changeState(1);
                    var s = t.__prdomain ? "扫码失败，请使用" + t.__prdomain + "帐号扫码登录" : "请使用指定域名帐号扫码登录";
                    t.__qrLoginErr(e, s)
                }
            } else {
                t.__changeState(0);
                t.__qrLoginErr(e)
            }
        };
        var n = {tk: this.__ticket, pd: this.__product, domains: this.__domains, pkid: this.__promark, channel: 3};
        var r = "qrlogin";
        if ("2" == e.accountType) {
            r = "mb-qrlogin";
            n.channel = 4
        }
        s._$request(r, n, i._$bind(this), i._$bind(this), 1)
    };
    o.__qrLoginSucc = function () {
    };
    o.__qrLoginErr = function () {
    };
    o.__confirmLogin = function () {
    };
    o.__scanIsComplete = function () {
    };
    o.__codeLose = function () {
    };
    o._$clearAllStatus = function () {
        clearInterval(this.__checkQrStIntv);
        this.__qrTiming = 0
    };
    o.__showQrcodeM = function () {
        if (this.__qrcodeDom) t._$delClassName(this.__qrcodeDom, "f-dn")
    };
    o.__hideQrcodeM = function () {
        if (this.__qrcodeDom) t._$addClassName(this.__qrcodeDom, "f-dn")
    };
    o.__showOWarm = function () {
        if (this.__oWarmDom) t._$delClassName(this.__oWarmDom, "f-dn")
    };
    o.__hideOWarm = function () {
        if (this.__oWarmDom) t._$addClassName(this.__oWarmDom, "f-dn")
    };
    o.__showScanSucc = function () {
        if (this.__qrSuccDom) t._$delClassName(this.__qrSuccDom, "f-dn")
    };
    o.__hideScanSucc = function () {
        if (this.__qrSuccDom) t._$addClassName(this.__qrSuccDom, "f-dn")
    };
    return o
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "4dadb2ee6ba889b538cf0977b4b3cad0", "46f2cd0a022c7fb344095e1795b5927b", "0d434f17f93250948578c8948f9f01bf");
I$("5ff7df89658ea00701caab652836d5ac", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l, u) {
    var p, m;
    f._$$QrcodeManager = e._$klass();
    p = f._$$QrcodeManager._$extend(a._$$Abstract);
    p.__init = function (e) {
        this.__product = e.product || "urs";
        this.__prdomain = e.prdomain || "";
        this.__toolName = e.toolName || "网易帐号管家";
        this.__toolUrl = e.toolUrl || "//id.163.com/gj/?from=webzj";
        this.__opts = e.opts;
        this.__super()
    };
    p.__reset = function (e) {
        this.__super(e);
        this.__fromModule = e.fromModule || "";
        this.__qrBox = t._$getByClassName(document, "m-qrcode")[0];
        if (o._$notURL(this.__toolUrl)) this.__toolUrl = "";
        if (this.__opts.goRegQr) {
            if ("mobile" == this.__fromModule) {
                this.__regQrUrl = this.__opts.goRegQr.goRegMbUrl || "https://mob.163.com/web/?needReg=1";
                this.__regQrTxt = this.__opts.goRegQr.goRegMbTxt || "去注册"
            } else {
                this.__regQrUrl = this.__opts.goRegQr.goRegEmailUrl || "https://zc.reg.163.com/regInitialized";
                this.__regQrTxt = this.__opts.goRegQr.goRegEmailTxt || "去注册"
            }
            if (o._$notURL(this.__regQrUrl)) this.__regQrUrl = "";
            this.__goRegQrUrl.href = this.__regQrUrl || "";
            this.__goRegQrUrl.innerHTML = o._$HtmlEncode(this.__regQrTxt || "去注册")
        } else t._$addClassName(this.__goRegQrUrl, "f-dn");
        this.__tooApp.href = this.__toolUrl;
        this.__tooApp.innerHTML = o._$HtmlEncode(this.__toolName);
        this.__qrcodeDom = t._$getByClassName(this.__qrBox, "j-qrblock")[0];
        this.__qrImgDom = t._$getByClassName(this.__qrBox, "j-qrcode")[0];
        this.__qrOWarmDom = t._$getByClassName(this.__qrBox, "j-owarm")[0];
        this.__qrSuccDom = t._$getByClassName(this.__qrBox, "j-qrsucc")[0];
        this.__qrBackDom = t._$getByClassName(this.__qrBox, "j-qrback")[0];
        var i = {
            fromModule: this.__fromModule,
            promark: this.__opts.promark,
            domains: this.__opts.domains,
            product: this.__product,
            prdomain: this.__prdomain,
            qrcodeDom: this.__qrcodeDom,
            imgDom: this.__qrImgDom,
            oWarmDom: this.__qrOWarmDom,
            qrSuccDom: this.__qrSuccDom,
            qrBackDom: this.__qrBackDom,
            qrLoginSucc: this.__qrLoginSucc._$bind(this),
            qrLoginErr: this.__qrLoginErr._$bind(this),
            confirmLogin: this.__confirmLogin._$bind(this),
            scanIsComplete: this.__scanIsComplete._$bind(this),
            codeLose: this.__codeLose._$bind(this)
        };
        _._$initQr(i);
        o._$resize()
    };
    p.__destroy = function () {
        this.__super();
        _._$clearAllStatus()
    };
    p.__initNode = function () {
        this.__super();
        this.__tooApp = t._$getByClassName(this.__body, "j-toolapp")[0];
        this.__goRegQrUrl = t._$getByClassName(this.__body, "j-goRegQrUrl")[0]
    };
    p.__initXGui = function () {
        m = s._$addNodeTemplate(r._$get("qrcode-tmp"));
        this.__seed_html = m
    };
    p.__qrLoginSucc = function (e, t) {
        this.__username = e;
        this.__doQrLoginSucc(t)
    };
    p.__doQrLoginSucc = function (e) {
        d._$cookie("THE_LAST_LOGIN", {value: this.__username, expires: 30, path: "/"});
        var t = e.nextUrls;
        var i = {type: "success", username: this.__username, isqr: 1, nextUrls: t, k: e.k || ""};
        this._$dispatchEvent("sendmsg", i);
        _gaq.push(["_trackEvent", "二维码登录", "【3】二维码登录结果", "扫码登录成功"])
    };
    p.__qrLoginErr = function (e, t) {
        if (!e) e = [];
        var i = t || "扫码登录失败，请重试";
        o._$showFail2(i);
        t = t || e.ret;
        _gaq.push(["_trackEvent", "二维码登录", "【3】二维码登录结果", t ? t : "扫码登录失败"])
    };
    p.__confirmLogin = function () {
        _gaq.push(["_trackEvent", "二维码登录", "【2】二维码确认", "用户确认登录"])
    };
    p.__scanIsComplete = function () {
        _gaq.push(["_trackEvent", "二维码登录", "【1】扫码", "扫码成功"])
    };
    p.__codeLose = function () {
        _gaq.push(["_trackEvent", "二维码登录", "【-】二维码异常", "二维码失效"])
    }
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b07a20e1d9be763162954dd0fcf2feb3", "83c67d5b20eeffc1f687e113ae22189f", "df9d93a61ae210b34038e92b4416342a", "0d434f17f93250948578c8948f9f01bf", "8bdf4bf336ac3e80c5ba9eaf2a14b550", "d240dbd785e56674fcebcea02cbcb6c4", "f4dec1b84700c9cc21c1a3746102e1f6");
I$("80db439a8709cf21b70d2cc4c6f497b8", function (e, t, i, n) {
    var s = {
        "mb-nini-433": "系统繁忙，请刷新页面重试",
        "mb-nini-401": "操作超时，请刷新页面重试",
        "mb-nini--1": "网络不好，请刷新页面重试",
        "mb-nini--2": "网络不好，请刷新页面重试",
        "mb-nini-404": "网络不好，请刷新页面重试",
        "mb-nini-500": "系统繁忙，请您稍后再试",
        "mb-nini-0": "网络不好，请刷新页面重试",
        "mb-nlgt-433": "系统繁忙，请刷新页面重试",
        "mb-nlgt-401": "操作超时，请刷新页面重试",
        "mb-nlgt-40110": "手机号格式错误",
        "mb-nlgt--1": "网络不好，请刷新页面重试",
        "mb-nlgt--2": "网络不好，请刷新页面重试",
        "mb-nlgt-404": "网络不好，请刷新页面重试",
        "mb-nlgt-500": "系统繁忙，请您稍后再试",
        "mb-nlgt-0": "网络不好，请刷新页面重试",
        "mb-nvfcp-433": "系统繁忙，请刷新页面重试",
        "mb-nvfcp-442": "请输入正确的验证码",
        "mb-nvfcp-401": "操作超时，请刷新页面重试",
        "mb-nvfcp-441": "请输入图片验证码",
        "mb-nvfcp--1": "网络不好，请刷新页面重试",
        "mb-nvfcp--2": "网络不好，请刷新页面重试",
        "mb-nvfcp-404": "网络不好，请刷新页面重试",
        "mb-nvfcp-500": "系统繁忙，请您稍后再试",
        "mb-nvfcp-0": "网络不好，请刷新页面重试",
        "mb-nvfcp-505": "次数超限，请稍后再试",
        "mb-nvftcp-433": "系统繁忙，请刷新页面重试",
        "mb-nvftcp-401": "操作超时，请刷新页面重试",
        "mb-nvftcp-441": "请输入图片验证码",
        "mb-nvftcp--1": "网络不好，请刷新页面重试",
        "mb-nvftcp--2": "网络不好，请刷新页面重试",
        "mb-nvftcp-404": "网络不好，请刷新页面重试",
        "mb-nvftcp-500": "系统繁忙，请您稍后再试",
        "mb-nvftcp-0": "网络不好，请刷新页面重试",
        "mb-nvftcp-505": "次数超限，请稍后再试",
        "mb-nvfccp-433": "系统繁忙，请刷新页面重试",
        "mb-nvfccp-401": "操作超时，请刷新页面重试",
        "mb-nvfccp-441": "请输入图片验证码",
        "mb-nvfccp--1": "网络不好，请刷新页面重试",
        "mb-nvfccp--2": "网络不好，请刷新页面重试",
        "mb-nvfccp-404": "网络不好，请刷新页面重试",
        "mb-nvfccp-500": "系统繁忙，请您稍后再试",
        "mb-nvfccp-0": "网络不好，请刷新页面重试",
        "mb-nvfccp-505": "次数超限，请稍后再试",
        "mb-nlregssms-433": "系统繁忙，请刷新页面重试",
        "mb-nlregssms-635": "该帐号在考察期（24小时）内，请使用原手机号登录",
        "mb-nlregssms-410": "超过IP限制，请稍后再试",
        "mb-nlregssms-412": "验证码错误超过限制，请稍后再试",
        "mb-nlregssms-413": "验证码发送超过限制，请改天再试",
        "mb-nlregssms-441": "请输入图片验证码",
        "mb-nlregssms-422": '该帐号已被锁定，<a target="_blank" href="https://mob.163.com/web/accunlock" style="color:#4aafe9;text-decoration:underline;">尝试解锁</a>。',
        "mb-nlregssms-602": '帐号长期未使用已冻结，请<a target="_blank" href="https://mob.163.com/web/freezappeal">自助解冻</a>',
        "mb-nlregssms-401": "操作超时，请刷新页面重试",
        "mb-nlregssms-40110": "手机号格式错误",
        "mb-nlregssms--1": "网络不好，请刷新页面重试",
        "mb-nlregssms--2": "网络不好，请刷新页面重试",
        "mb-nlregssms-404": "网络不好，请刷新页面重试",
        "mb-nlregssms-500": "系统繁忙，请您稍后再试",
        "mb-nlregssms-0": "网络不好，请刷新页面重试",
        "mb-nlregssms-505": "次数超限，请稍后再试",
        "mb-nlregvfsms-415": "请先获取验证码",
        "mb-nlregvfsms-40901": "您的操作太频繁，请稍后再试",
        "mb-nlregvfsms-401": "操作超时，请刷新页面重试",
        "mb-nlregvfsms-402": "当前网络异常，请检查您的网络环境",
        "mb-nlregvfsms-40110": "手机号格式错误",
        "mb-nlregvfsms-409": "您的操作太频繁，请稍后再试",
        "mb-nlregvfsms-410": "超过IP限制，请稍后再试",
        "mb-nlregvfsms-412": "验证码验证错误次数过多，请稍后再试",
        "mb-nlregvfsms-413": "帐号或验证码错误",
        "mb-nlregvfsms-416": "您的IP登录过于频繁，请稍后再试",
        "mb-nlregvfsms-433": "系统繁忙，请刷新页面重试",
        "mb-nlregvfsms-420": "该手机帐号未注册",
        "mb-nlregvfsms-422": '该帐号已被锁定，<a target="_blank" href="https://mob.163.com/web/accunlock" style="color:#4aafe9;text-decoration:underline;">尝试解锁</a>。',
        "mb-nlregvfsms-41201": "您登录错误次数过多，请稍后再试",
        "mb-nlregvfsms-41301": "您登录错误验证码次数过多，请稍后再试",
        "mb-nlregvfsms-41303": "您的IP登录错误验证码次数过多，请稍后再试",
        "mb-nlregvfsms-41401": "您的IP登录错误次数过多，请稍后再试",
        "mb-nlregvfsms-41701": "您的IP登录成功次数过多，请稍后后再试",
        "mb-nlregvfsms-41801": "您登录成功次数过多，请稍后再试",
        "mb-nlregvfsms-41901": "您登录过于频繁，请稍后再试",
        "mb-nlregvfsms-41902": "您的IP登录过于频繁，请稍后再试",
        "mb-nlregvfsms-443": "请输入正确的短信验证码",
        "mb-nlregvfsms-40107": '请设置<a target="_blank" href="https://www.baidu.com/s?wd=safari%E5%BC%80%E5%90%AFcookie">浏览器接受第三方cookie</a>，或者更换浏览器尝试',
        "mb-nlregvfsms--1": "网络不好，请刷新页面重试",
        "mb-nlregvfsms--2": "网络不好，请刷新页面重试",
        "mb-nlregvfsms-404": "网络不好，请刷新页面重试",
        "mb-nlregvfsms-500": "系统繁忙，请您稍后再试",
        "mb-nlregvfsms-503": "服务器繁忙，请稍后再试",
        "mb-nlregvfsms-0": "网络不好，请刷新页面重试",
        "mb-nlregvfsms-602": '帐号长期未使用已冻结，请<a target="_blank" href="https://mob.163.com/web/freezappeal">自助解冻</a>',
        "mb-nlregvfsms-635": "该帐号在考察期（24小时）内，请使用原手机号登录",
        "mb-ini-433": "系统繁忙，请刷新页面重试",
        "mb-ini-401": "操作超时，请刷新页面重试",
        "mb-ini--1": "网络不好，请刷新页面重试",
        "mb-ini--2": "网络不好，请刷新页面重试",
        "mb-ini-404": "网络不好，请刷新页面重试",
        "mb-ini-500": "系统繁忙，请您稍后再试",
        "mb-ini-0": "网络不好，请刷新页面重试",
        "mb-gt-401": "操作超时，请刷新页面重试",
        "mb-gt-40110": "手机号格式错误",
        "mb-gt--1": "网络不好，请刷新页面重试",
        "mb-gt--2": "网络不好，请刷新页面重试",
        "mb-gt-404": "网络不好，请刷新页面重试",
        "mb-gt-500": "系统繁忙，请您稍后再试",
        "mb-gt-0": "网络不好，请刷新页面重试",
        "mb-vfcp-442": "请输入正确的验证码",
        "mb-vfcp-401": "操作超时，请刷新页面重试",
        "mb-vfcp-441": "请输入图片验证码",
        "mb-vfcp--1": "网络不好，请刷新页面重试",
        "mb-vfcp--2": "网络不好，请刷新页面重试",
        "mb-vfcp-404": "网络不好，请刷新页面重试",
        "mb-vfcp-500": "系统繁忙，请您稍后再试",
        "mb-vfcp-0": "网络不好，请刷新页面重试",
        "mb-vfcp-505": "次数超限，请稍后再试",
        "mb-vftcp-442": "请输入正确的验证码",
        "mb-vftcp-401": "操作超时，请刷新页面重试",
        "mb-vftcp-441": "请输入图片验证码",
        "mb-vftcp--1": "网络不好，请刷新页面重试",
        "mb-vftcp--2": "网络不好，请刷新页面重试",
        "mb-vftcp-404": "网络不好，请刷新页面重试",
        "mb-vftcp-500": "系统繁忙，请您稍后再试",
        "mb-vftcp-0": "网络不好，请刷新页面重试",
        "mb-vftcp-505": "次数超限，请稍后再试",
        "mb-vfccp-442": "请输入正确的验证码",
        "mb-vfccp-401": "操作超时，请刷新页面重试",
        "mb-vfccp-441": "请输入图片验证码",
        "mb-vfccp--1": "网络不好，请刷新页面重试",
        "mb-vfccp--2": "网络不好，请刷新页面重试",
        "mb-vfccp-404": "网络不好，请刷新页面重试",
        "mb-vfccp-500": "系统繁忙，请您稍后再试",
        "mb-vfccp-0": "网络不好，请刷新页面重试",
        "mb-vfccp-505": "次数超限，请稍后再试",
        "mb-login-401": "操作超时，请刷新页面重试",
        "mb-login-40110": "手机号格式错误",
        "mb-login-409": "您的操作太频繁，请稍后再试",
        "mb-login-413": "帐号或密码错误",
        "mb-login-402": "当前网络异常，请检查您的网络环境",
        "mb-login-433": "系统繁忙，请刷新页面重试",
        "mb-login-410": "超过IP限制，请稍后再试",
        "mb-login-420": "该手机帐号未注册",
        "mb-login-422": '该帐号已被锁定，请使用<a target="_blank" href="https://id.163.com/gj/?from=webzj" style="color:#4aafe9;text-decoration:underline;">网易帐号管家</a>尝试解锁。',
        "mb-login-602": '帐号长期未使用已冻结，请<a target="_blank" href="https://mob.163.com/web/freezappeal">自助解冻</a>',
        "mb-login-609": "请通过手机短信登录",
        "mb-login-635": "该帐号在考察期（24小时）内，请使用原手机号登录",
        "mb-login-41201": "您登录错误次数过多，请稍后再试",
        "mb-login-41202": "您登录错误次数过多，请明天再试",
        "mb-login-41301": "您登录错误密码次数过多，请稍后再试",
        "mb-login-41302": "您登录错误密码次数过多，请明天再试",
        "mb-login-41303": "您的IP登录错误密码次数过多，请稍后再试",
        "mb-login-41401": "您的IP登录错误次数过多，请稍后再试",
        "mb-login-41402": "您的IP登录错误次数过多，请明天再试",
        "mb-login-41701": "您的IP登录成功次数过多，请稍后后再试",
        "mb-login-41702": "您的IP登录成功次数过多，请明天再试",
        "mb-login-41801": "您登录成功次数过多，请稍后再试",
        "mb-login-41802": "您登录成功次数过多，请明天再试",
        "mb-login-416": "您的IP登录过于频繁，请稍后再试",
        "mb-login-41901": "您登录过于频繁，请稍后再试",
        "mb-login-41902": "您的IP登录过于频繁，请稍后再试",
        "mb-login-441": "请输入图片验证码",
        "mb-login-40107": '请设置<a target="_blank" href="https://www.baidu.com/s?wd=safari%E5%BC%80%E5%90%AFcookie">浏览器接受第三方cookie</a>，或者更换浏览器尝试',
        "mb-login--1": "网络不好，请刷新页面重试",
        "mb-login--2": "网络不好，请刷新页面重试",
        "mb-login-404": "网络不好，请刷新页面重试",
        "mb-login-500": "系统繁忙，请您稍后再试",
        "mb-login-503": "服务器繁忙，请稍后再试",
        "mb-login-0": "网络不好，请刷新页面重试",
        "mb-lvfsms-415": "请先获取验证码",
        "mb-lvfsms-635": "该帐号在考察期（24小时）内，请使用原手机号登录",
        "mb-lvfsms-443": "请输入正确的短信验证码",
        "mb-lvfsms-409": "您的操作太频繁，请稍后再试",
        "mb-lvfsms-410": "超过IP限制，请稍后再试",
        "mb-lvfsms-441": "请输入图片验证码",
        "mb-lvfsms-412": "验证码错误次数过多，请稍后再试",
        "mb-lvfsms-41201": "您登录错误次数过多，请稍后再试",
        "mb-lvfsms-41202": "您登录错误次数过多，请明天再试",
        "mb-lvfsms-41301": "您登录错误验证码次数过多，请稍后再试",
        "mb-lvfsms-41302": "您登录错误验证码次数过多，请明天再试",
        "mb-lvfsms-41303": "您的IP登录错误验证码次数过多，请稍后再试",
        "mb-lvfsms-41401": "您的IP登录错误次数过多，请稍后再试",
        "mb-lvfsms-41402": "您的IP登录错误次数过多，请明天再试",
        "mb-lvfsms-41701": "您的IP登录成功次数过多，请稍后后再试",
        "mb-lvfsms-41702": "您的IP登录成功次数过多，请明天再试",
        "mb-lvfsms-41801": "您登录成功次数过多，请稍后再试",
        "mb-lvfsms-41802": "您登录成功次数过多，请明天再试",
        "mb-lvfsms-416": "您的IP登录过于频繁,请稍后再试",
        "mb-lvfsms-41901": "您登录过于频繁，请稍后再试",
        "mb-lvfsms-41902": "您的IP登录过于频繁，请稍后再试",
        "mb-lvfsms-420": "该手机帐号未注册",
        "mb-lvfsms-422": '该帐号已被锁定，请使用<a target="_blank" href="https://id.163.com/gj/?from=webzj" style="color:#4aafe9;text-decoration:underline;">网易帐号管家</a>尝试解锁。',
        "mb-lvfsms-602": '帐号长期未使用已冻结，请<a target="_blank" href="https://mob.163.com/web/freezappeal">自助解冻</a>',
        "mb-lvfsms-402": "当前网络异常，请检查您的网络环境",
        "mb-lvfsms-401": "操作超时，请刷新页面重试",
        "mb-lvfsms-40109": "手机号格式错误",
        "mb-lvfsms--1": "网络不好，请刷新页面重试",
        "mb-lvfsms--2": "网络不好，请刷新页面重试",
        "mb-lvfsms-404": "网络不好，请刷新页面重试",
        "mb-lvfsms-500": "系统繁忙，请您稍后再试",
        "mb-lvfsms-0": "网络不好，请刷新页面重试",
        "mb-sms-lsm-10710": "请输入图片验证码",
        "mb-sms-lsm-635": "该帐号在考察期（24小时）内，请使用原手机号登录",
        "mb-sms-lsm-407": "该帐号已注册",
        "mb-sms-lsm-410": "超过IP限制，请稍后再试",
        "mb-sms-lsm-412": "验证码错误超过限制，请稍后再试",
        "mb-sms-lsm-413": "验证码发送超过限制，请改天再试",
        "mb-sms-lsm-441": "请输入图片验证码",
        "mb-sms-lsm-420": "该手机帐号未注册",
        "mb-sms-lsm-442": "请输入正确的验证码",
        "mb-sms-lsm-422": '该帐号已被锁定，请使用<a target="_blank" href="https://id.163.com/gj/?from=webzj" style="color:#4aafe9;text-decoration:underline;">网易帐号管家</a>尝试解锁。',
        "mb-sms-lsm-602": '帐号长期未使用已冻结，请<a target="_blank" href="https://mob.163.com/web/freezappeal">自助解冻</a>',
        "mb-sms-lsm-401": "操作超时，请刷新页面重试",
        "mb-sms-lsm-40109": "手机号格式错误",
        "mb-sms-lsm--1": "网络不好，请刷新页面重试",
        "mb-sms-lsm--2": "网络不好，请刷新页面重试",
        "mb-sms-lsm-404": "网络不好，请刷新页面重试",
        "mb-sms-lsm-500": "系统繁忙，请您稍后再试",
        "mb-sms-lsm-0": "网络不好，请刷新页面重试",
        "mb-sms-lsm-505": "次数超限，请稍后再试",
        "mb-reg-sm-10700": "请输入图片验证码",
        "mb-reg-sm-407": "该帐号已注册",
        "mb-reg-sm-410": "超过IP限制，请稍后再试",
        "mb-reg-sm-108": "请输入图片验证码",
        "mb-reg-sm-441": "请输入图片验证码",
        "mb-reg-sm-41201": "验证码发送超过限制，请改天再试",
        "mb-reg-sm-41202": "验证码错误超过限制，请稍后再试",
        "mb-reg-sm-401": "操作超时，请刷新页面重试",
        "mb-reg-sm-40112": "手机号格式错误",
        "mb-reg-sm-40113": "手机号格式错误",
        "mb-reg-sm--1": "网络不好，请刷新页面重试",
        "mb-reg-sm--2": "网络不好，请刷新页面重试",
        "mb-reg-sm-404": "网络不好，请刷新页面重试",
        "mb-reg-sm-500": "系统繁忙，请您稍后再试",
        "mb-reg-sm-0": "网络不好，请刷新页面重试",
        "mb-reg-sm-433": "系统繁忙，请刷新页面重试",
        "mb-reg-sm-635": "该帐号在考察期（24小时）内，请使用原手机号登录",
        "mb-reg-vfsms-417": "请先获取验证码",
        "mb-reg-vfsms-402": "当前网络异常，请检查您的网络环境",
        "mb-reg-vfsms-409": "您的操作太频繁，请稍后再试",
        "mb-reg-vfsms-410": "超过IP限制，请稍后再试",
        "mb-reg-vfsms-407": "该帐号已注册",
        "mb-reg-vfsms-412": "验证码错误次数过多，请稍后再试",
        "mb-reg-vfsms-413": "请输入正确的验证码",
        "mb-reg-vfsms-401": "操作超时，请刷新页面重试",
        "mb-reg-vfsms-40112": "手机号格式错误",
        "mb-reg-vfsms-40113": "手机号格式错误",
        "mb-reg-vfsms--1": "网络不好，请刷新页面重试",
        "mb-reg-vfsms--2": "网络不好，请刷新页面重试",
        "mb-reg-vfsms-404": "网络不好，请刷新页面重试",
        "mb-reg-vfsms-500": "系统繁忙，请您稍后再试",
        "mb-reg-vfsms-635": "该帐号在考察期（24小时）内，请使用原手机号登录",
        "mb-reg-vfsms-0": "网络不好，请刷新页面重试",
        "mb-reg-vfsms-433": "系统繁忙，请刷新页面重试",
        "mb-reg-ini-433": "系统繁忙，请刷新页面重试",
        "mb-reg-ini-401": "操作超时，请刷新页面重试",
        "mb-reg-ini--1": "网络不好，请刷新页面重试",
        "mb-reg-ini--2": "网络不好，请刷新页面重试",
        "mb-reg-ini-404": "网络不好，请刷新页面重试",
        "mb-reg-ini-500": "系统繁忙，请您稍后再试",
        "mb-reg-ini-0": "网络不好，请刷新页面重试",
        "mb-reg-chn-407": "该帐号已注册",
        "mb-reg-chn-409": "您的操作太频繁，请稍后再试",
        "mb-reg-chn-410": "超过IP限制，请稍后再试",
        "mb-reg-chn-401": "操作超时，请刷新页面重试",
        "mb-reg-chn-40112": "手机号格式错误",
        "mb-reg-chn-40113": "手机号格式错误",
        "mb-reg-chn-422": '帐号长期未使用已冻结，请<a target="_blank" href="https://mob.163.com/web/freezappeal">自助解冻</a>',
        "mb-reg-chn--1": "网络不好，请刷新页面重试",
        "mb-reg-chn--2": "网络不好，请刷新页面重试",
        "mb-reg-chn-404": "网络不好，请刷新页面重试",
        "mb-reg-chn-500": "系统繁忙，请您稍后再试",
        "mb-reg-chn-0": "网络不好，请刷新页面重试",
        "mb-reg-chn-504": "次数超限，请稍后再试",
        "mb-reg-chn-505": "次数超限，请稍后再试"
    };
    return s
});
I$("2ac3f77d0ef746bec9bbcf1bce8e537b", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l, u) {
    var p = o.extend({
        data: {}, config: function (t) {
            i._$merge(this.data, t || {});
            this.data.pwdfind = e._$is("desktop") ? "https://mob.163.com/web/passwdfind" : "https://aq.reg.163.com/ydaq/welcome?module=offlinePasswordFind";
            this.data.hasQuestion = e._$is("desktop") ? "https://mob.163.com/web/helpcenter?from=webzj" : "https://aq.reg.163.com/ydaq/helpCenter?mod=index&from=webzj";
            this.supr(t)
        }, init: function (e) {
            if (this.data.mobileUnLoginTime) this.data.unLoginSelected = 1; else this.data.unLoginSelected = 0;
            this.errorIndex = -1;
            this.errorIndexMap = {};
            if (this.data.noqr) {
                var t = n._$getByClassName(document, "j-btnqrcode")[0];
                n._$addClassName(t, "f-dn")
            }
            this.supr(e);
            var i, s;
            if (!this.data.uniteLogin && this.data.mbRegGuide) {
                i = this.data.mbRegGuide;
                i = "1" == i ? "去注册" : a._$HtmlEncode(i);
                if (this.data.mbLogin && this.data.mbLogin.mbRegGuideUrl) {
                    s = this.data.mbLogin.mbRegGuideUrl || "";
                    if (a._$notURL(s)) s = "";
                    i = '该手机帐号未注册，<a class="u-goToReg" style="color:#4cb5ff;" target="_blank" href="' + s + '">' + i + "</a>"
                } else i = '该手机帐号未注册，<a class="u-goToReg" style="color:#4cb5ff;" href="javascript:void(0);" data-action="changepage" data-mdtype="1">' + i + "</a>";
                _["mb-login-420"] = i;
                _["mb-lvfsms-420"] = i;
                _["mb-sms-lsm-420"] = i
            }
            if (this.data.mbNoSms) _["mb-login-609"] = '请使用<a class="u-goSmsLogin" data-action="goSmsLogin" href="javascript:void(0);">短信验证登录</a>'
        }, doEnter: function (e) {
            var t = e.keyCode;
            if (13 == t) {
                if ("login" === this.data.page) {
                    if (this.__ml && "1" == this.__config2.channel) this.__ml.doLogin();
                    if (this.__msl && "2" == this.__config2.channel) this.__msl.doLogin();
                    if (this.__uml && "14" == this.__config2.channel) this.__uml.doLogin()
                }
                if ("register" === this.data.page && this.__mbreg) this.__mbreg.doReg()
            }
        }, getSlideTarget: function () {
            return this.data.slideTarget
        }, getUn: function () {
            return this.$refs.mninput._$getValue().trim()
        }, iniSuccess: function (e) {
            this.__isNewCapPopup = 3 == this.data.version && "popup" == this.data.mode;
            if (this.$refs) {
                this._$doToggleLoingLockMb();
                this.data.initSuccess = 1;
                var t = e.capFlag || e.cf;
                this.__capFlag = t;
                this.__needPopup = 0;
                if (1 == t) {
                    this.data.hasImgCap = 1;
                    this.data.hasSlide = 0;
                    this._$postMessage({type: "mbInitSuccess"})
                } else if (4 == t || 5 == t) {
                    this.data.hasSlide = 1;
                    this.data.hasImgCap = 0;
                    this.data.slideTarget = 4 == t ? 2 : 3;
                    if (this.__isNewCapPopup) {
                        this.__needPopup = 1;
                        this.data.hasSlide = 0
                    }
                } else this._$postMessage({type: "mbInitSuccess"});
                this.$update();
                setTimeout(function () {
                    if (this.data.focusHelper) this.$refs.mninput._$focusHelper();
                    this._$resize()
                }._$bind(this), 200)
            }
        }, iniError: function (e, t) {
            var i = t.ret, n, s;
            if ("mb-reg-ini-" == e) s = 0; else {
                s = 1;
                this.data.initSuccess = -1
            }
            if ("3" != window._$URSOPT.version || !window._$URSOPT.from3Cdn) if (window._$needUrsBgp) if (!this.tmpBgp && ("-2" == i || "-1" == i || "0" == i)) {
                this.tmpBgp = 1;
                if (s) window._$BGP = 1; else window._$BGPZC = 1;
                setTimeout(this.doInit._$bind(this, 1), 200);
                return
            }
            if ("-401" != i) {
                if ("401" == i) i = e + t.ret; else i = e + t.ret + (t.dt || "");
                var r = {tabIndex: -1, str: _[i] || a._$getErrorTxt(t.ret), node: "nerror"};
                this._$doShowError(r)
            } else {
                n = s ? "登录" : "注册";
                this._$doShowError({tabIndex: -1, str: a._$get401Error(n), node: "nerror"});
                window._$needCookieSet = 1
            }
        }, doClick: function (e) {
            var i = t._$getElement(e), s = n._$dataset(i, "link");
            if (s) a._$doThirdLogin(e)
        }, doPreFill: function () {
            var e = d._$cookie("regmbcookiename");
            var t = d._$cookie("THE_LAST_LOGIN_MOBILE");
            if (e && "login" == this.data.module) {
                if (e.indexOf("-") < 0) {
                    this.$refs.mninput._$setValue(e);
                    d._$cookie("regmbcookiename", "")
                }
            } else if (t && "login" == this.data.module) if (t.indexOf("-") < 0) this.$refs.mninput._$setValue(t);
            if (this.data.preFilledMobile && "login" == this.data.module) this.$refs.mninput._$setValue(this.data.preFilledMobile)
        }, doInit: function (e) {
            if (1 != e) this.doPreFill();
            var t = {};
            t.pd = this.data.product;
            t.pkid = this.data.promark;
            t.pkht = this.data.host || "";
            t.channel = this.data.channel;
            this.data.initSuccess = 0;
            c._$request("mb-ini", t, this.iniSuccess._$bind(this), this.iniError._$bind(this, "mb-ini-"), 1)
        }, __getUserName: function () {
            return {username: this.__username}
        }, loginSuccess: function (e, t) {
            var i = this.__getUserName();
            var n = e ? "密码方式" : "验证码方式";
            _gaq.push(["_trackEvent", "手机帐号登录", "登录成功", n + "###" + JSON.stringify(i)]);
            MP.getCookieId("l_yd_sign", function (e) {
                if ("null" != e) d._$cookie("l_yd_sign", {value: e, expires: 3650, path: "/"});
                d._$cookie("THE_LAST_LOGIN_MOBILE", {value: this.__username, expires: 30, path: "/"});
                this._$setDomains({
                    type: "success",
                    username: this.__username || "",
                    nextUrls: t.nextUrls,
                    k: t.k || ""
                })
            }._$bind(this))
        }, onShowErr: function (t, i, n) {
            var s = t.ret;
            var r = _[s] || a._$getErrorTxt(s);
            if (t.pcUrl && t.h5Url) if (e._$is("desktop")) r = '帐号长期未使用已冻结，请<a target="_blank" href="' + t.pcUrl + '">自助解冻</a>'; else r = '帐号长期未使用已冻结，请<a target="_blank" href="' + t.h5Url + '">自助解冻</a>'; else if (!e._$is("desktop") && s.indexOf("602") >= 0) r = '帐号长期未使用已冻结，请<a target="_blank" href="https://aq.reg.163.com/ydaq/welcome?module=offAccountAppeal">自助解冻</a>';
            var o = {tabIndex: i || -1, str: r, node: "nerror", type: n || ""};
            this._$doShowError(o)
        }, doRefreshCap: function (e) {
            e = e || {};
            this.refreshCaps(null, e.code);
            if (e.hasError) this.doShowError(e.hasError)
        }, doRefreshCaps: function (e, t) {
            if ("mb-lvfsms-" != e) {
                if (this.data.hasImgCap && "411" != t) this.$refs.captcha._$refreshImg();
                if (this.data.hasSlide) this.$refs.slidecap._$refreshSlide(t)
            }
            this.$update()
        }, refreshCaps: function (e, t) {
            setTimeout(function () {
                a._$resize()
            }, 200);
            if ("441" != t) if ("444" != t && "445" != t) this.doRefreshCaps(e, t); else {
                this.__capFlag = "444" == t ? 4 : 5;
                if ("444" == t) this.data.slideTarget = 2;
                if ("445" == t) this.data.slideTarget = 3;
                if (this.$refs.captcha) this.$refs.captcha.destroy();
                this.$refs.captcha = null;
                delete this.$refs.captcha;
                if (this.data.hasSlide) {
                    this.doRefreshCaps(e, t);
                    return
                }
                this.data.hasSlide = 1;
                this.data.hasImgCap = 0;
                this.$update()
            } else {
                this.__capFlag = 1;
                if (this.$refs.slidecap) this.$refs.slidecap.destroy();
                this.$refs.slidecap = null;
                delete this.$refs.slidecap;
                if (this.data.hasImgCap) {
                    this.doRefreshCaps(e, t);
                    return
                }
                this.data.hasImgCap = 1;
                this.data.hasSlide = 0;
                this.$update()
            }
        }, loginError: function (e, t) {
            var i = -1, n;
            var s = t.ret;
            var r = this.__getUserName();
            this.doUnlockLogin();
            if ("mb-login-" === e) {
                _gaq.push(["_trackEvent", "手机帐号登录", "密码登录失败", s + "###" + JSON.stringify(r)]);
                if ("401" == s && (!t.dt || "10" != t.dt)) t.ret = e + s; else t.ret = e + s + (t.dt || "")
            } else {
                _gaq.push(["_trackEvent", "手机帐号登录", "短信登录失败", s + "###" + JSON.stringify(r)]);
                if ("401" == s && (!t.dt || "09" != t.dt)) t.ret = e + s; else t.ret = e + s + (t.dt || "")
            }
            this.__capFlag = t.capFlag || this.__capFlag;
            if (this.__isNewCapPopup) {
                if ("441" == s || "444" == s || "445" == s) this.refreshCaps(e, s); else if ("1" == this.__capFlag) this.refreshCaps(e, "441"); else if ("4" == this.__capFlag || "5" == this.__capFlag) {
                    if ("4" == this.__capFlag) this.data.slideTarget = 2;
                    if ("5" == this.__capFlag) this.data.slideTarget = 3;
                    this.destroyNewCap()
                }
            } else this.refreshCaps(e, s);
            if ("07" == t.dt || "602" == s) n = 2;
            if ("422" == s) n = 2;
            this.$update();
            this.onShowErr(t, i, n)
        }, getGtError: function (e) {
            this.doUnlockLogin();
            var t = e.ret, i = "mb-gt-";
            if ("401" == t && (!e.dt || "10" != e.dt)) e.ret = i + t; else e.ret = i + t + (e.dt || "");
            this.onShowErr(e)
        }, doUnlockLogin: function () {
            this.__getTicketLock = 0;
            this.__loginBtn.innerHTML = a._$HtmlEncode(this.__loginBtnTxt)
        }, doLockLogin: function () {
            this.__getTicketLock = 1;
            this.__loginBtn = this.$refs.loginBtn;
            this.__loginBtnTxt = "string" == typeof this.__loginBtn.textContent ? this.__loginBtn.textContent : this.__loginBtn.innerText;
            this.__loginBtn.innerHTML = a._$HtmlEncode(this.__loginLockTxtMb)
        }, getTicket: function () {
            if (!this.__getTicketLock) {
                this.doLockLogin();
                var e = {};
                e.un = this.$refs.mninput._$getValue().trim();
                this.__username = e.un;
                e.channel = this.data.channel;
                e.pd = this.data.product;
                e.pkid = this.data.promark;
                c._$request("mb-gt", e, this.getGtSuccess._$bind(this), this.getGtError._$bind(this), 1)
            }
        }, checkForm: function () {
            var e = 0;
            i._$forIn(this.$refs, function (t) {
                if (!t.data || "1" != t.data.ignore) {
                    t.onCheckRegexp && t.onCheckRegexp();
                    if (t.data) {
                        if (t.data.emptyTxt) {
                            e = t._$emptyCheck();
                            if (e) return e
                        }
                        if (t.otherCheck && t.otherCheck()) if (t.data.hasError) {
                            e = 1;
                            return e
                        }
                        if (t.data.hasError) {
                            e = 1;
                            return e
                        }
                    }
                }
            }._$bind(this));
            return e
        }, doShowInitFail: function (e) {
            var t = "-103";
            a._$showFail(t, e)
        }, onChangeUnLogin: function () {
            this.data.mobileDefaultUnLogin = !this.data.mobileDefaultUnLogin
        }, doLogin: function () {
            if (!this.data.mbLoginLock) {
                if (this.isInitLoginSucc()) if (!this.checkForm()) {
                    if ("1" == this.data.channel && this.__needPopup && !this.data.hasSlide) {
                        this.__needPopup = 0;
                        this.data.hasSlide = 1;
                        return
                    }
                    this.getTicket()
                }
            } else this._$postMessage({
                type: "lockMbLoginState",
                value: this.data.mbLoginLock
            })
        }, isInitLoginSucc: function () {
            if (0 == this.data.initSuccess) {
                this.doShowInitFail("登录");
                return 0
            }
            if (this.data.initSuccess == -1) {
                a._$showFail("-104");
                return 0
            }
            return 1
        }, doShowError: function (e) {
            if (!e.node) e.node = "nerror";
            this._$doShowError(e)
        }, rmError: function (e) {
            if (!e.node) e.node = "nerror";
            this._$removeError(e)
        }, _$doToggleLoingLockMb: function () {
            this.data.mbLoginLock = window._$mbLoginLock;
            this.$update()
        }
    });
    return p
}, "605054bf841321ed40d652370c40f4e5", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "55ecf251619aa03ad5e02d8743c45f0a", "83c67d5b20eeffc1f687e113ae22189f", "0d434f17f93250948578c8948f9f01bf", "caaecd3c396a93b245bbd554253cba73", "4dadb2ee6ba889b538cf0977b4b3cad0", "80db439a8709cf21b70d2cc4c6f497b8", "f4dec1b84700c9cc21c1a3746102e1f6");
I$("0830f7c7062399cb2d29a6a897f4ff06", function (e, t, i, n, s, r, a, o, c, _) {
    var d = Regular.extend({
        data: {}, config: function (e) {
            i._$merge(this.data, e || {});
            if (this.data.needEye) this.data.showBtn = 0; else this.data.showBtn = 1;
            this.supr(e)
        }, init: function (e) {
            if (!this.supporPlaceHolder()) this.data.labelHidden = 0; else this.data.labelHidden = 1;
            this.data.isIOS = window._$ISIOS;
            this.supr(e)
        }, onLabelFocus: function () {
            try {
                this.$refs.input.focus()
            } catch (e) {
            }
        }, onPropertychange: function (e) {
            var t = e && e.event || {};
            if (t.propertyName && "value" == t.propertyName.toLowerCase()) this.onInput()
        }, onInput: function () {
            if (this.$refs && this.$refs.input) {
                var e = this.$refs.input.value;
                this.data.hasError = 0;
                this.data.active = 1;
                if (e) {
                    this.data.hasValue = 1;
                    this.data.showBtn = 1
                } else this.data.hasValue = 0;
                this.$update()
            }
        }, onFocus: function () {
            this.data.active = 1;
            this.data.hasError = 0;
            this.data.showBtn = 1;
            if (this.data.pwdValue) this.data.hasValue = 1;
            this.$emit("rmError", {tabIndex: this.data.tabIndex, target: this.$refs.input});
            this.$update()
        }, onCheckRegexp: function () {
            if (this.$refs && this.$refs.input) {
                if ("phoneipt" == this.$refs.input.id) this.$refs.input.value = n._$emailFilter(this.$refs.input.value);
                var e = this.$refs.input.value;
                if (e) if (this.data.regexp) if (this.data.regexp.test(e)) {
                    this.data.hasError = 0;
                    this.data.active = 0;
                    this.$emit("rmError", {tabIndex: this.data.tabIndex, target: this.$refs.input})
                } else {
                    this.data.hasError = 1;
                    this.$emit("showError", {
                        tabIndex: this.data.tabIndex,
                        str: this.data.errTxt,
                        target: this.$refs.input
                    })
                } else {
                    this.data.hasError = 0;
                    this.data.active = 0
                } else this.data.active = 0;
                this.$update();
                return this.data.hasError
            }
        }, onMouseOver: function () {
            this.data.isCloseOver = 1
        }, onMouseOut: function () {
            this.data.isCloseOver = 0
        }, onBlur: function () {
            if (!this.data.isCloseOver) {
                if (this.data.needEye) this.data.showBtn = 0;
                this.onCheckRegexp();
                if (!this.data.hasError && this.chn) this.doChn();
                this.otherCheck && this.otherCheck();
                this.$update()
            }
        }, onClearInput: function () {
            this.onClearInputPuer();
            try {
                this.$refs.input.focus()
            } catch (e) {
            }
        }, onClearInputPuer: function () {
            this.data.pwdValue = "";
            this.$refs.input.value = "";
            this.data.hasValue = 0;
            this.data.active = 0;
            this.data.hasError = 0;
            this.$update()
        }, supporPlaceHolder: function () {
            var t = e._$KERNEL;
            if ("trident" == t.engine && parseInt(t.release, 10) <= 5) return 0; else return 1
        }, _$getValue: function () {
            return this.$refs.input.value
        }, _$setValue: function (e) {
            this.$refs.input.value = e;
            if (e) this.data.hasValue = 1
        }, _$emptyCheck: function () {
            if (!this.$refs.input.value) {
                this.data.hasError = 1;
                this.$emit("showError", {
                    tabIndex: this.data.tabIndex,
                    str: this.data.emptyTxt,
                    target: this.$refs.input
                });
                return 1
            }
            return 0
        }, _$focusHelper: function () {
            try {
                this.$refs.input.focus()
            } catch (e) {
            }
        }, onHackFocus: function (e) {
            try {
                if (document.activeElement && e && document.activeElement === e.target) {
                    window.focus();
                    setTimeout(function () {
                        e.target.focus()
                    }, 0)
                }
            } catch (t) {
            }
        }
    });
    return d
}, "605054bf841321ed40d652370c40f4e5", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "0d434f17f93250948578c8948f9f01bf", "d73a726efb8534e8d72defb6cd280a1c", "55ecf251619aa03ad5e02d8743c45f0a");
I$("aaa561831f2b0f93b2b3f16b921cc469", '<div ref="mbInput" {#if itlOpened}style="z-index:999;"{/if} {#if active && !hasError}class="inputbox active"{#elseif hasError}class="inputbox error-color"{#else}class="inputbox"{/if}>\n    {#if !mbHasItl}\n        <div class="u-logo"><div class="u-logo-img3"></div></div>\n    {/if}\n    {#if mbHasItl}\n        <div ref="itlBox" class="u-input box mbItlBox">\n            <label on-click={this.onLabelFocus($event)} {#if !labelHidden && !hasValue}class="u-label"{#else}class="u-label f-dn"{/if}>{placeholder}</label>\n            <div ref="itlBtn" class={itlClazz} on-click={this.__toggleC($event)} data-code="{firstCountry}"><em>{countryNumber}</em></div>\n            <input id="phoneipt" {#if isIOS}on-touchend={this.onHackFocus($event)}{/if} on-propertychange={this.onPropertychange($event)} on-input={this.onInput($event)} ref="input" on-focus={this.onFocus($event)} on-blur={this.onBlur($event)} placeholder="{placeholder}" name="email" class="dlemail" type="tel" autocomplete="off" tabindex="1" spellcheck="false">\n            <country ref="country" on-setCode={this.__toggleC($event)}></country>\n        </div>\n    {#else}\n        <div class="u-input box">\n        <label on-click={this.onLabelFocus($event)} {#if !labelHidden && !hasValue}class="u-label"{#else}class="u-label f-dn"{/if}>{placeholder}</label>\n        <input id="phoneipt" {#if isIOS}on-touchend={this.onHackFocus($event)}{/if} on-propertychange={this.onPropertychange($event)} on-input={this.onInput($event)} ref="input" on-focus={this.onFocus($event)} on-blur={this.onBlur($event)} placeholder="{placeholder}" name="email" class="dlemail" type="tel" autocomplete="off" tabindex="1" spellcheck="false">\n    </div>\n    {/if}\n    <div on-mouseover={this.onMouseOver()} on-mouseout={this.onMouseOut()}  on-click={this.onClearInput($event)} class="u-tip" {#if hasValue && showBtn}style="display:block;"{/if}><div class="u-success u-clear"></div></div>\n    {#if mbNeedItl && !mbOnlyItl}\n    <div class="mbtoggleitl-box"><a class="mbtoggleitl" on-click={this.onChangeItl($event)} href="javascript:void(0);">{changeItlTxt}</a></div>\n    {/if}\n</div>');
I$("8df50dd69e15cafac181536c096790d7", '<div {#if hidden}class="j-country u-country f-dn"{#else}class="j-country u-country"{/if} on-click="{this.onClick($event)}">\n    <a href="javascript:void(0);" class="flag-CN" data-code="+86-"><em>&nbsp;</em>中国(Chinese) +86</a>\n    <a href="javascript:void(0);" class="flag-TW" data-code="+886-"><em>&nbsp;</em>台湾地区(台灣) +886</a>\n    <a href="javascript:void(0);" class="flag-HK" data-code="+852-"><em>&nbsp;</em>香港地区(Hong Kong) +852</a>\n    <a href="javascript:void(0);" class="flag-MO" data-code="+853-"><em>&nbsp;</em>澳门地区(Macau) +853</a>\n    <a href="javascript:void(0);" class="flag-MY" data-code="+60-"><em>&nbsp;</em>马来西亚(Malaysia) +60</a>\n    <a href="javascript:void(0);" class="flag-SG" data-code="+65-"><em>&nbsp;</em>新加坡(Singapura) +65</a>\n    <a href="javascript:void(0);" class="flag-JP" data-code="+81-"><em>&nbsp;</em>日本(にっぽんこく，にほんこく) +81</a>\n    <a href="javascript:void(0);" class="flag-KR" data-code="+82-"><em>&nbsp;</em>韩国(한국) +82</a>\n    <a href="javascript:void(0);" class="flag-US" data-code="+1-"><em>&nbsp;</em>美国(United States) +1</a>\n    <a href="javascript:void(0);" class="flag-CA" data-code="+1-"><em>&nbsp;</em>加拿大(United States) +1</a>\n    <a href="javascript:void(0);" class="flag-AU" data-code="+61-"><em>&nbsp;</em>澳大利亚(Australia) +61</a>\n    <a href="javascript:void(0);" class="flag-NZ" data-code="+64-"><em>&nbsp;</em>新西兰(New Zealand) +64</a>\n    <a href="javascript:void(0);" class="flag-AL" data-code="+355-"><em>&nbsp;</em>阿尔巴尼亚(Shqipëria) +355</a><a href="javascript:void(0);" class="flag-DZ" data-code="+213-"><em>&nbsp;</em>阿尔及利亚(‫الجزائر‬‎) +213</a><a href="javascript:void(0);" class="flag-AF" data-code="+93-"><em>&nbsp;</em>阿富汗(‫افغانستان‬‎) +93</a><a href="javascript:void(0);" class="flag-AR" data-code="+54-"><em>&nbsp;</em>阿根廷(Argentina) +54</a><a href="javascript:void(0);" class="flag-AE" data-code="+971-"><em>&nbsp;</em>阿拉伯联合大公国(‫الإمارات العربيّة المتّحدة‬‎) +971</a><a href="javascript:void(0);" class="flag-AW" data-code="+297-"><em>&nbsp;</em>阿鲁巴(Aruba) +297</a><a href="javascript:void(0);" class="flag-OM" data-code="+968-"><em>&nbsp;</em>阿曼(‫عمان‬‎) +968</a><a href="javascript:void(0);" class="flag-AZ" data-code="+994-"><em>&nbsp;</em>阿塞拜疆(Azərbaycan) +994</a><a href="javascript:void(0);" class="flag-EG" data-code="+20-"><em>&nbsp;</em>埃及(‫مصر‬‎) +20</a><a href="javascript:void(0);" class="flag-ET" data-code="+251-"><em>&nbsp;</em>埃塞俄比亚(Ityop\'iya) +251</a><a href="javascript:void(0);" class="flag-IE" data-code="+353-"><em>&nbsp;</em>爱尔兰(Ireland) +353</a><a href="javascript:void(0);" class="flag-EE" data-code="+372-"><em>&nbsp;</em>爱沙尼亚(Eesti) +372</a><a href="javascript:void(0);" class="flag-AD" data-code="+376-"><em>&nbsp;</em>安道尔(Andorra) +376</a><a href="javascript:void(0);" class="flag-AO" data-code="+244-"><em>&nbsp;</em>安哥拉(Angola) +244</a><a href="javascript:void(0);" class="flag-AI" data-code="+1264-"><em>&nbsp;</em>安圭拉(Anguilla) +1264</a><a href="javascript:void(0);" class="flag-AG" data-code="+1268-"><em>&nbsp;</em>安提瓜和巴布达(Antigua and Barbuda) +1268</a><a href="javascript:void(0);" class="flag-AT" data-code="+43-"><em>&nbsp;</em>奥地利(Österreich) +43</a><a href="javascript:void(0);" class="flag-BB" data-code="+1246-"><em>&nbsp;</em>巴巴多斯(Barbados) +1246</a><a href="javascript:void(0);" class="flag-PG" data-code="+675-"><em>&nbsp;</em>巴布亚新几内亚 +675</a><a href="javascript:void(0);" class="flag-BS" data-code="+1242-"><em>&nbsp;</em>巴哈马(Bahamas) +1242</a><a href="javascript:void(0);" class="flag-PK" data-code="+92-"><em>&nbsp;</em>巴基斯坦(‫پاکستان‬‎) +92</a><a href="javascript:void(0);" class="flag-PY" data-code="+595-"><em>&nbsp;</em>巴拉圭(Paraguay) +595</a><a href="javascript:void(0);" class="flag-PS" data-code="+970-"><em>&nbsp;</em>巴勒斯坦领土(Palestinian Territories) +970</a><a href="javascript:void(0);" class="flag-BH" data-code="+973-"><em>&nbsp;</em>巴林(‫البحرين‬‎) +973</a><a href="javascript:void(0);" class="flag-PA" data-code="+507-"><em>&nbsp;</em>巴拿马(Panamá) +507</a><a href="javascript:void(0);" class="flag-BR" data-code="+55-"><em>&nbsp;</em>巴西(Brasil) +55</a><a href="javascript:void(0);" class="flag-BY" data-code="+375-"><em>&nbsp;</em>白俄罗斯(Белару́сь) +375</a><a href="javascript:void(0);" class="flag-BM" data-code="+1441-"><em>&nbsp;</em>百慕大(Bermuda) +1441</a><a href="javascript:void(0);" class="flag-BG" data-code="+359-"><em>&nbsp;</em>保加利亚(България) +359</a><a href="javascript:void(0);" class="flag-BJ" data-code="+229-"><em>&nbsp;</em>贝宁(Bénin) +229</a><a href="javascript:void(0);" class="flag-BE" data-code="+32-"><em>&nbsp;</em>比利时(België) +32</a><a href="javascript:void(0);" class="flag-IS" data-code="+354-"><em>&nbsp;</em>冰岛(Ísland) +354</a><a href="javascript:void(0);" class="flag-PR" data-code="+1787-"><em>&nbsp;</em>波多黎各(Puerto Rico) +1787</a><a href="javascript:void(0);" class="flag-PL" data-code="+48-"><em>&nbsp;</em>波兰 +48</a><a href="javascript:void(0);" class="flag-BA" data-code="+387-"><em>&nbsp;</em>波斯尼亚和黑塞哥维那(Bosna i Hercegovina) +387</a><a href="javascript:void(0);" class="flag-BO" data-code="+591-"><em>&nbsp;</em>玻利维亚(Bolivia) +591</a><a href="javascript:void(0);" class="flag-BZ" data-code="+501-"><em>&nbsp;</em>伯利兹(Belize) +501</a><a href="javascript:void(0);" class="flag-BW" data-code="+267-"><em>&nbsp;</em>博茨瓦纳(Botswana) +267</a><a href="javascript:void(0);" class="flag-BT" data-code="+975-"><em>&nbsp;</em>不丹(འབྲུག་ཡུལ་) +975</a><a href="javascript:void(0);" class="flag-BF" data-code="+226-"><em>&nbsp;</em>布基纳法索(Burkina Faso) +226</a><a href="javascript:void(0);" class="flag-BI" data-code="+257-"><em>&nbsp;</em>布隆迪(Uburundi) +257</a><a href="javascript:void(0);" class="flag-KP" data-code="+850-"><em>&nbsp;</em>朝鲜 +850</a><a href="javascript:void(0);" class="flag-GQ" data-code="+240-"><em>&nbsp;</em>赤道几内亚(Guinea Ecuatorial) +240</a><a href="javascript:void(0);" class="flag-DK" data-code="+45-"><em>&nbsp;</em>丹麦(Danmark) +45</a><a href="javascript:void(0);" class="flag-DE" data-code="+49-"><em>&nbsp;</em>德国(Deutschland) +49</a><a href="javascript:void(0);" class="flag-TL" data-code="+670-"><em>&nbsp;</em>东帝汶 +670</a><a href="javascript:void(0);" class="flag-TG" data-code="+228-"><em>&nbsp;</em>多哥(Togo) +228</a><a href="javascript:void(0);" class="flag-DM" data-code="+1767-"><em>&nbsp;</em>多米尼加(Dominica) +1767</a><a href="javascript:void(0);" class="flag-DO" data-code="+1809-"><em>&nbsp;</em>多明尼加共和国(Dominican Republic) +1809</a><a href="javascript:void(0);" class="flag-RU" data-code="+7-"><em>&nbsp;</em>俄罗斯(Россия) +7</a><a href="javascript:void(0);" class="flag-EC" data-code="+593-"><em>&nbsp;</em>厄瓜多尔(Ecuador) +593</a><a href="javascript:void(0);" class="flag-ER" data-code="+291-"><em>&nbsp;</em>厄立特里亚(Ertra) +291</a><a href="javascript:void(0);" class="flag-FR" data-code="+33-"><em>&nbsp;</em>法国(France) +33</a><a href="javascript:void(0);" class="flag-FO" data-code="+298-"><em>&nbsp;</em>法罗群岛(Faroe Islands) +298</a><a href="javascript:void(0);" class="flag-PF" data-code="+689-"><em>&nbsp;</em>法属波利尼西亚(French Polynesia) +689</a><a href="javascript:void(0);" class="flag-GF" data-code="+594-"><em>&nbsp;</em>法属圭亚那(French Guiana) +594</a><a href="javascript:void(0);" class="flag-PH" data-code="+63-"><em>&nbsp;</em>菲律宾 +63</a><a href="javascript:void(0);" class="flag-FJ" data-code="+679-"><em>&nbsp;</em>斐济(Fiji) +679</a><a href="javascript:void(0);" class="flag-FI" data-code="+358-"><em>&nbsp;</em>芬兰(Suomi) +358</a><a href="javascript:void(0);" class="flag-CV" data-code="+238-"><em>&nbsp;</em>佛得角(Cabo Verde) +238</a><a href="javascript:void(0);" class="flag-GM" data-code="+220-"><em>&nbsp;</em>冈比亚(Gambia) +220</a><a href="javascript:void(0);" class="flag-CG" data-code="+242-"><em>&nbsp;</em>刚果共和国(Congo [Republic]) +242</a><a href="javascript:void(0);" class="flag-CD" data-code="+243-"><em>&nbsp;</em>刚果民主共和国(Congo [DRC]) +243</a><a href="javascript:void(0);" class="flag-CO" data-code="+57-"><em>&nbsp;</em>哥伦比亚(Colombia) +57</a><a href="javascript:void(0);" class="flag-CR" data-code="+506-"><em>&nbsp;</em>哥斯达黎加(Costa Rica) +506</a><a href="javascript:void(0);" class="flag-GD" data-code="+1473-"><em>&nbsp;</em>格林纳达(Grenada) +1473</a><a href="javascript:void(0);" class="flag-GL" data-code="+299-"><em>&nbsp;</em>格陵兰(Greenland) +299</a><a href="javascript:void(0);" class="flag-GE" data-code="+995-"><em>&nbsp;</em>格鲁吉亚(საქართველო) +995</a><a href="javascript:void(0);" class="flag-CU" data-code="+53-"><em>&nbsp;</em>古巴(Cuba) +53</a><a href="javascript:void(0);" class="flag-GP" data-code="+590-"><em>&nbsp;</em>瓜德罗普岛(Guadeloupe) +590</a><a href="javascript:void(0);" class="flag-GU" data-code="+1671-"><em>&nbsp;</em>关岛(Guam) +1671</a><a href="javascript:void(0);" class="flag-GY" data-code="+592-"><em>&nbsp;</em>圭亚那(Guyana) +592</a><a href="javascript:void(0);" class="flag-KZ" data-code="+7-"><em>&nbsp;</em>哈萨克斯坦(Россия) +7</a><a href="javascript:void(0);" class="flag-HT" data-code="+509-"><em>&nbsp;</em>海地(Haïti) +509</a><a href="javascript:void(0);" class="flag-NL" data-code="+31-"><em>&nbsp;</em>荷兰(Nederland) +31</a><a href="javascript:void(0);" class="flag-AN" data-code="+599-"><em>&nbsp;</em>荷属安的列斯群岛(Netherlands Antilles) +599</a><a href="javascript:void(0);" class="flag-ME" data-code="+382-"><em>&nbsp;</em>黑山(Црна Гора) +382</a><a href="javascript:void(0);" class="flag-HN" data-code="+504-"><em>&nbsp;</em>洪都拉斯(Honduras) +504</a><a href="javascript:void(0);" class="flag-DJ" data-code="+253-"><em>&nbsp;</em>吉布提(Djibouti) +253</a><a href="javascript:void(0);" class="flag-KG" data-code="+996-"><em>&nbsp;</em>吉尔吉斯斯坦(Кыргызстан) +996</a><a href="javascript:void(0);" class="flag-GN" data-code="+224-"><em>&nbsp;</em>几内亚(Guinée) +224</a><a href="javascript:void(0);" class="flag-GW" data-code="+245-"><em>&nbsp;</em>几内亚比绍 +245</a><a href="javascript:void(0);" class="flag-GH" data-code="+233-"><em>&nbsp;</em>加纳(Ghana) +233</a><a href="javascript:void(0);" class="flag-GA" data-code="+241-"><em>&nbsp;</em>加蓬(Gabon) +241</a><a href="javascript:void(0);" class="flag-KH" data-code="+855-"><em>&nbsp;</em>柬埔寨(Kampuchea) +855</a><a href="javascript:void(0);" class="flag-CZ" data-code="+420-"><em>&nbsp;</em>捷克共和国(Česko) +420</a><a href="javascript:void(0);" class="flag-ZW" data-code="+263-"><em>&nbsp;</em>津巴布韦(Zimbabwe) +263</a><a href="javascript:void(0);" class="flag-CM" data-code="+237-"><em>&nbsp;</em>喀麦隆(Cameroun) +237</a><a href="javascript:void(0);" class="flag-QA" data-code="+974-"><em>&nbsp;</em>卡塔尔(‫قطر‬‎) +974</a><a href="javascript:void(0);" class="flag-KY" data-code="+1345-"><em>&nbsp;</em>开曼群岛(Cayman Islands) +1345</a><a href="javascript:void(0);" class="flag-KM" data-code="+269-"><em>&nbsp;</em>科摩罗(Comoros) +269</a><a href="javascript:void(0);" class="flag-KW" data-code="+965-"><em>&nbsp;</em>科威特(‫الكويت‬‎) +965</a><a href="javascript:void(0);" class="flag-HR" data-code="+385-"><em>&nbsp;</em>克罗地亚(Hrvatska) +385</a><a href="javascript:void(0);" class="flag-KE" data-code="+254-"><em>&nbsp;</em>肯尼亚(Kenya) +254</a><a href="javascript:void(0);" class="flag-CK" data-code="+682-"><em>&nbsp;</em>库克群岛 +682</a><a href="javascript:void(0);" class="flag-LV" data-code="+371-"><em>&nbsp;</em>拉脱维亚(Latvija) +371</a><a href="javascript:void(0);" class="flag-LS" data-code="+266-"><em>&nbsp;</em>莱索托(Lesotho) +266</a><a href="javascript:void(0);" class="flag-LA" data-code="+856-"><em>&nbsp;</em>老挝(ປະຊາຊົນສປປລາວ) +856</a><a href="javascript:void(0);" class="flag-LB" data-code="+961-"><em>&nbsp;</em>黎巴嫩(‫لبنان‬‎) +961</a><a href="javascript:void(0);" class="flag-LT" data-code="+370-"><em>&nbsp;</em>立陶宛(Lietuva) +370</a><a href="javascript:void(0);" class="flag-LR" data-code="+231-"><em>&nbsp;</em>利比里亚(Liberia) +231</a><a href="javascript:void(0);" class="flag-LY" data-code="+218-"><em>&nbsp;</em>利比亚(‫ليبيا‬‎) +218</a><a href="javascript:void(0);" class="flag-LI" data-code="+423-"><em>&nbsp;</em>列支敦士登(Liechtenstein) +423</a><a href="javascript:void(0);" class="flag-RE" data-code="+262-"><em>&nbsp;</em>留尼旺岛(Réunion) +262</a><a href="javascript:void(0);" class="flag-LU" data-code="+352-"><em>&nbsp;</em>卢森堡(Lëtzebuerg) +352</a><a href="javascript:void(0);" class="flag-RW" data-code="+250-"><em>&nbsp;</em>卢旺达(Rwanda) +250</a><a href="javascript:void(0);" class="flag-RO" data-code="+40-"><em>&nbsp;</em>罗马尼亚(România) +40</a><a href="javascript:void(0);" class="flag-MG" data-code="+261-"><em>&nbsp;</em>马达加斯加(Madagasikara) +261</a><a href="javascript:void(0);" class="flag-MV" data-code="+960-"><em>&nbsp;</em>马尔代夫(‫ގުޖޭއްރާ ޔާއްރިހޫމްޖ‬‎) +960</a><a href="javascript:void(0);" class="flag-MT" data-code="+356-"><em>&nbsp;</em>马耳他(Malta) +356</a><a href="javascript:void(0);" class="flag-MW" data-code="+265-"><em>&nbsp;</em>马拉维(Malawi) +265</a><a href="javascript:void(0);" class="flag-ML" data-code="+223-"><em>&nbsp;</em>马里(Mali) +223</a><a href="javascript:void(0);" class="flag-MK" data-code="+389-"><em>&nbsp;</em>马其顿(Македонија) +389</a><a href="javascript:void(0);" class="flag-MQ" data-code="+596-"><em>&nbsp;</em>马提尼克(Martinique) +596</a><a href="javascript:void(0);" class="flag-MU" data-code="+230-"><em>&nbsp;</em>毛里求斯(Mauritius) +230</a><a href="javascript:void(0);" class="flag-MR" data-code="+222-"><em>&nbsp;</em>毛里塔尼亚(‫موريتانيا‬‎) +222</a><a href="javascript:void(0);" class="flag-MN" data-code="+976-"><em>&nbsp;</em>蒙古(Монгол Улс) +976</a><a href="javascript:void(0);" class="flag-MS" data-code="+1664-"><em>&nbsp;</em>蒙特塞拉特(Montserrat) +1664</a><a href="javascript:void(0);" class="flag-BD" data-code="+880-"><em>&nbsp;</em>孟加拉国(বাংলাদেশ) +880</a><a href="javascript:void(0);" class="flag-PE" data-code="+51-"><em>&nbsp;</em>秘鲁(Perú) +51</a><a href="javascript:void(0);" class="flag-MD" data-code="+373-"><em>&nbsp;</em>摩尔多瓦(Moldova) +373</a><a href="javascript:void(0);" class="flag-MA" data-code="+212-"><em>&nbsp;</em>摩洛哥(‫المغرب‬‎) +212</a><a href="javascript:void(0);" class="flag-MC" data-code="+377-"><em>&nbsp;</em>摩纳哥(Monaco) +377</a><a href="javascript:void(0);" class="flag-MZ" data-code="+258-"><em>&nbsp;</em>莫桑比克(Moçambique) +258</a><a href="javascript:void(0);" class="flag-MX" data-code="+52-"><em>&nbsp;</em>墨西哥(México) +52</a><a href="javascript:void(0);" class="flag-NA" data-code="+264-"><em>&nbsp;</em>纳米比亚(Namibia) +264</a><a href="javascript:void(0);" class="flag-ZA" data-code="+27-"><em>&nbsp;</em>南非(South Africa) +27</a><a href="javascript:void(0);" class="flag-SS" data-code="+211-"><em>&nbsp;</em>南苏丹 +211</a><a href="javascript:void(0);" class="flag-NP" data-code="+977-"><em>&nbsp;</em>尼泊尔(नेपाल) +977</a><a href="javascript:void(0);" class="flag-NI" data-code="+505-"><em>&nbsp;</em>尼加拉瓜(Nicaragua) +505</a><a href="javascript:void(0);" class="flag-NE" data-code="+227-"><em>&nbsp;</em>尼日尔(Niger) +227</a><a href="javascript:void(0);" class="flag-NG" data-code="+234-"><em>&nbsp;</em>尼日利亚(Nigeria) +234</a><a href="javascript:void(0);" class="flag-NO" data-code="+47-"><em>&nbsp;</em>挪威(Norge) +47</a><a href="javascript:void(0);" class="flag-PT" data-code="+351-"><em>&nbsp;</em>葡萄牙(Portugal) +351</a><a href="javascript:void(0);" class="flag-SE" data-code="+46-"><em>&nbsp;</em>瑞典(Sverige) +46</a><a href="javascript:void(0);" class="flag-CH" data-code="+41-"><em>&nbsp;</em>瑞士(Schweiz) +41</a><a href="javascript:void(0);" class="flag-SV" data-code="+503-"><em>&nbsp;</em>萨尔瓦多(El Salvador) +503</a><a href="javascript:void(0);" class="flag-WS" data-code="+685-"><em>&nbsp;</em>萨摩亚(Samoa) +685</a><a href="javascript:void(0);" class="flag-RS" data-code="+381-"><em>&nbsp;</em>塞尔维亚(Србија) +381</a><a href="javascript:void(0);" class="flag-SL" data-code="+232-"><em>&nbsp;</em>塞拉利昂(Sierra Leone) +232</a><a href="javascript:void(0);" class="flag-SN" data-code="+221-"><em>&nbsp;</em>塞内加尔(Sénégal) +221</a><a href="javascript:void(0);" class="flag-CY" data-code="+357-"><em>&nbsp;</em>塞浦路斯(Κυπρος) +357</a><a href="javascript:void(0);" class="flag-SC" data-code="+248-"><em>&nbsp;</em>塞舌尔(Seychelles) +248</a><a href="javascript:void(0);" class="flag-SA" data-code="+966-"><em>&nbsp;</em>沙特阿拉伯(‫المملكة العربية السعودية‬‎) +966</a><a href="javascript:void(0);" class="flag-ST" data-code="+239-"><em>&nbsp;</em>圣多美和普林西比 +239</a><a href="javascript:void(0);" class="flag-KN" data-code="+1869-"><em>&nbsp;</em>圣基茨和尼维斯(Saint Kitts and Nevis) +1869</a><a href="javascript:void(0);" class="flag-LC" data-code="+1758-"><em>&nbsp;</em>圣卢西亚(Saint Lucia) +1758</a><a href="javascript:void(0);" class="flag-SM" data-code="+378-"><em>&nbsp;</em>圣马力诺(San Marino) +378</a><a href="javascript:void(0);" class="flag-PM" data-code="+508-"><em>&nbsp;</em>圣皮埃尔和密克隆群岛(Saint Pierre and Miquelon) +508</a><a href="javascript:void(0);" class="flag-VC" data-code="+1784-"><em>&nbsp;</em>圣文森特和格林纳丁斯(Saint Vincent and the Grenadines) +1784</a><a href="javascript:void(0);" class="flag-LK" data-code="+94-"><em>&nbsp;</em>斯里兰卡(Sri Lanka) +94</a><a href="javascript:void(0);" class="flag-SK" data-code="+421-"><em>&nbsp;</em>斯洛伐克(Slovensko) +421</a><a href="javascript:void(0);" class="flag-SI" data-code="+386-"><em>&nbsp;</em>斯洛文尼亚(Slovenija) +386</a><a href="javascript:void(0);" class="flag-SZ" data-code="+268-"><em>&nbsp;</em>斯威士兰(Swaziland) +268</a><a href="javascript:void(0);" class="flag-SD" data-code="+249-"><em>&nbsp;</em>苏丹(‫السودان‬‎) +249</a><a href="javascript:void(0);" class="flag-SR" data-code="+597-"><em>&nbsp;</em>苏里南(Suriname) +597</a><a href="javascript:void(0);" class="flag-SO" data-code="+252-"><em>&nbsp;</em>索马里(Soomaaliya) +252</a><a href="javascript:void(0);" class="flag-TJ" data-code="+992-"><em>&nbsp;</em>塔吉克斯坦(Тоҷикистон) +992</a><a href="javascript:void(0);" class="flag-TH" data-code="+66-"><em>&nbsp;</em>泰国(ราชอาณาจักรไทย) +66</a><a href="javascript:void(0);" class="flag-TZ" data-code="+255-"><em>&nbsp;</em>坦桑尼亚(Tanzania) +255</a><a href="javascript:void(0);" class="flag-TO" data-code="+676-"><em>&nbsp;</em>汤加(Tonga) +676</a><a href="javascript:void(0);" class="flag-TC" data-code="+1649-"><em>&nbsp;</em>特克斯和凯科斯群岛(Turks and Caicos Islands) +1649</a><a href="javascript:void(0);" class="flag-TT" data-code="+1868-"><em>&nbsp;</em>特里尼达和多巴哥(Trinidad and Tobago) +1868</a><a href="javascript:void(0);" class="flag-TN" data-code="+216-"><em>&nbsp;</em>突尼斯(‫تونس‬‎) +216</a><a href="javascript:void(0);" class="flag-TR" data-code="+90-"><em>&nbsp;</em>土耳其(Türkiye) +90</a><a href="javascript:void(0);" class="flag-TM" data-code="+993-"><em>&nbsp;</em>土库曼斯坦(Türkmenistan) +993</a><a href="javascript:void(0);" class="flag-VU" data-code="+678-"><em>&nbsp;</em>瓦努阿图(Vanuatu) +678</a><a href="javascript:void(0);" class="flag-GT" data-code="+502-"><em>&nbsp;</em>危地马拉(Guatemala) +502</a><a href="javascript:void(0);" class="flag-VE" data-code="+58-"><em>&nbsp;</em>委内瑞拉(Venezuela) +58</a><a href="javascript:void(0);" class="flag-BN" data-code="+673-"><em>&nbsp;</em>文莱(Brunei Darussalam) +673</a><a href="javascript:void(0);" class="flag-UG" data-code="+256-"><em>&nbsp;</em>乌干达(Uganda) +256</a><a href="javascript:void(0);" class="flag-UA" data-code="+380-"><em>&nbsp;</em>乌克兰(Україна) +380</a><a href="javascript:void(0);" class="flag-UY" data-code="+598-"><em>&nbsp;</em>乌拉圭(Uruguay) +598</a><a href="javascript:void(0);" class="flag-UZ" data-code="+998-"><em>&nbsp;</em>乌兹别克斯坦(O\'zbekiston) +998</a><a href="javascript:void(0);" class="flag-ES" data-code="+34-"><em>&nbsp;</em>西班牙(España) +34</a><a href="javascript:void(0);" class="flag-GR" data-code="+30-"><em>&nbsp;</em>希腊(Ελλάς) +30</a><a href="javascript:void(0);" class="flag-CI" data-code="+225-"><em>&nbsp;</em>象牙海岸(Côte d\'Ivoire) +225</a><a href="javascript:void(0);" class="flag-NC" data-code="+687-"><em>&nbsp;</em>新喀里多尼亚(New Caledonia) +687</a><a href="javascript:void(0);" class="flag-HU" data-code="+36-"><em>&nbsp;</em>匈牙利(Magyarország) +36</a><a href="javascript:void(0);" class="flag-SY" data-code="+963-"><em>&nbsp;</em>叙利亚(‫سوريا‬‎) +963</a><a href="javascript:void(0);" class="flag-JM" data-code="+1876-"><em>&nbsp;</em>牙买加(Jamaica) +1876</a><a href="javascript:void(0);" class="flag-AM" data-code="+374-"><em>&nbsp;</em>亚美尼亚(Հայաստան) +374</a><a href="javascript:void(0);" class="flag-YE" data-code="+967-"><em>&nbsp;</em>也门(‫اليمن‬‎) +967</a><a href="javascript:void(0);" class="flag-IQ" data-code="+964-"><em>&nbsp;</em>伊拉克(‫العراق‬‎) +964</a><a href="javascript:void(0);" class="flag-IR" data-code="+98-"><em>&nbsp;</em>伊朗(‫ایران‬‎) +98</a><a href="javascript:void(0);" class="flag-IL" data-code="+972-"><em>&nbsp;</em>以色列(‫ישראל‬‎) +972</a><a href="javascript:void(0);" class="flag-IT" data-code="+39-"><em>&nbsp;</em>意大利(Italia) +39</a><a href="javascript:void(0);" class="flag-IN" data-code="+91-"><em>&nbsp;</em>印度(India) +91</a><a href="javascript:void(0);" class="flag-ID" data-code="+62-"><em>&nbsp;</em>印尼(Indonesia) +62</a><a href="javascript:void(0);" class="flag-GB" data-code="+44-"><em>&nbsp;</em>英国(United Kingdom) +44</a><a href="javascript:void(0);" class="flag-VG" data-code="+1340-"><em>&nbsp;</em>英属维尔京群岛(U.S. Virgin Islands) +1340</a><a href="javascript:void(0);" class="flag-JO" data-code="+962-"><em>&nbsp;</em>约旦(‫الاردن‬‎) +962</a><a href="javascript:void(0);" class="flag-VN" data-code="+84-"><em>&nbsp;</em>越南(Việt Nam) +84</a><a href="javascript:void(0);" class="flag-ZM" data-code="+260-"><em>&nbsp;</em>赞比亚(Zambia) +260</a><a href="javascript:void(0);" class="flag-JE" data-code="+44-"><em>&nbsp;</em>泽西岛(United Kingdom) +44</a><a href="javascript:void(0);" class="flag-TD" data-code="+235-"><em>&nbsp;</em>乍得(Tchad) +235</a><a href="javascript:void(0);" class="flag-GI" data-code="+350-"><em>&nbsp;</em>直布罗陀(Gibraltar) +350</a><a href="javascript:void(0);" class="flag-CL" data-code="+56-"><em>&nbsp;</em>智利(Chile) +56</a><a href="javascript:void(0);" class="flag-CF" data-code="+236-"><em>&nbsp;</em>中非共和国(République Centrafricaine) +236</a>\n    </div>');
I$("2a43840b16363f33ff35f85bac1eaffb", function (e, t, i, n, s, r, a, o, c) {
    var _ = Regular.extend({
        template: s, name: "country", data: {hidden: 1}, config: function (e) {
            t._$merge(this.data, e || {});
            this.supr(e)
        }, init: function (e) {
            this.supr(e)
        }, onClick: function (t) {
            e._$stop(t);
            var n = e._$getElement(t), s = i._$dataset(n, "code");
            if (s) this.$emit("setCode", {code: s, className: n.className})
        }, setCountry: function (e) {
            var n = i._$getByClassName(document, "j-country")[0];
            var s = i._$getChildren(n);
            t._$forEach(s, function (t) {
                var n = i._$dataset(t, "code");
                if (n == e) {
                    this.$emit("setCode", {code: e, className: t.className});
                    this.data.hidden = 1;
                    this.$update()
                }
            }._$bind(this))
        }
    });
    return _
}, "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "55ecf251619aa03ad5e02d8743c45f0a", "8df50dd69e15cafac181536c096790d7");
I$("81e1ce8efe96c75235628db75e167e9c", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l) {
    var u = s.extend({
        template: r,
        data: {
            needCheck: 1,
            tabIndex: 1,
            changeItlTxt: "切换到国际手机",
            placeholder: "请输入手机号",
            regexp: /^(13|14|15|16|17|18|19)\d{9}$/,
            errTxt: "手机号格式错误",
            emptyTxt: "请输入手机号"
        },
        config: function (t) {
            var n = e._$KERNEL;
            if ("trident" == n.engine && parseInt(n.release, 10) <= 3) this.data.isLowIE = 1;
            i._$merge(this.data, t || {});
            this.supr(t)
        },
        init: function () {
            var e = function () {
                this.data.itlClazz = "country flag-CN";
                this.data.firstCountry = "+86-";
                this.data.countryNumber = this.data.firstCountry.replace("-", "");
                this.data.regexp = /^\d+$/
            };
            return function (t) {
                this.data.mbHasItl = 0;
                if (this.data.mbOnlyItl) {
                    this.data.mbHasItl = 1;
                    e.call(this)
                }
                if ("1" == this.data.fromUnite) e.call(this); else if (!this.data.mbOnlyItl) {
                    this.data.itlClazz = "country flag-US";
                    this.data.firstCountry = "+1-";
                    this.data.countryNumber = this.data.firstCountry.replace("-", "")
                }
                this.supr(t)
            }
        }(),
        onChangeItl: function () {
            this.data.hasError = 0;
            this.data.active = 0;
            this.data.hasValue = 0;
            this.$emit("rmError", {tabIndex: this.data.tabIndex, target: this.$refs.input});
            this.data.mbHasItl = !this.data.mbHasItl;
            this.data.regexp = this.data.mbHasItl ? /^\d+$/ : /^(13|14|15|16|17|18|19)\d{9}$/;
            this.data.changeItlTxt = this.data.mbHasItl ? "切换到国内手机" : "切换到国际手机"
        },
        __toggleC: function (e) {
            var i = e.code;
            var s = e.className;
            t._$stop(i);
            if (this.data.isLowIE) {
                this.$refs.mbInput.style.position = "absolute";
                this.$refs.mbInput.style.zIndex = "999";
                setTimeout(function () {
                    this.$refs.mbInput.style.position = "relative"
                }._$bind(this), 40)
            }
            this.$refs.country.data.hidden = this.$refs.country.data.hidden ? 0 : 1;
            this.data.itlOpened = !this.$refs.country.data.hidden;
            if ("string" == typeof i) {
                this.data.itlClazz = "country " + s;
                n._$dataset(this.$refs.itlBtn, "code", i);
                this.data.countryNumber = i.replace("-", "");
                try {
                    this.$refs.input.focus()
                } catch (r) {
                }
            }
            this.$refs.country.$update();
            this.$update()
        },
        onFocus: function (e) {
            this.supr(e);
            if (this.$refs && this.$refs.country) {
                this.$refs.country.data.hidden = 1;
                this.data.itlOpened = !this.$refs.country.data.hidden;
                this.$refs.country.$update()
            }
            this.$update()
        },
        chnSuccess: function () {
        },
        chnError: function (e) {
            var t = e.ret, i = "mb-reg-chn-", n = -1, s;
            var r, o;
            if ("407" == t) {
                n = 1;
                if (this.data.mbCanLoginGuide) {
                    o = this._$getValue();
                    r = "//webzj.reg.163.com/UA1435545636633/__utm.gif?log=" + encodeURIComponent("mbRegGoLogin0") + "&ssn=" + encodeURIComponent(o) + "&promark=" + encodeURIComponent(window._$PKID);
                    c._$sendLog(r)
                }
            }
            if ("422" == t) s = 2;
            if ("401" == t && (!e.dt || "13" != e.dt)) t = i + t; else t = i + t + (e.dt || "");
            var _ = a[t] || c._$getErrorTxt(e.ret);
            this.$emit("showError", {tabIndex: n, str: _, target: this.$refs.input, type: s})
        },
        doChn: function () {
            var e = {};
            e.id = this.data.chnId || "";
            e.mb = this._$getValue();
            if (e.mb) o._$request("mb-reg-chn", e, this.chnSuccess._$bind(this), this.chnError._$bind(this))
        },
        _$getValue: function () {
            var e, t;
            if (this.data.mbHasItl) {
                e = n._$dataset(this.$refs.itlBtn, "code");
                t = this.$refs.input.value.trim();
                if ("+86-" == e) return c._$emailFilter(t);
                e = e.split("+")[1];
                if (!t) return ""; else return c._$emailFilter(e + t)
            } else return c._$emailFilter(this.$refs.input.value.trim())
        }
    });
    return u
}, "605054bf841321ed40d652370c40f4e5", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "0830f7c7062399cb2d29a6a897f4ff06", "aaa561831f2b0f93b2b3f16b921cc469", "80db439a8709cf21b70d2cc4c6f497b8", "4dadb2ee6ba889b538cf0977b4b3cad0", "0d434f17f93250948578c8948f9f01bf", "2a43840b16363f33ff35f85bac1eaffb");
I$("8a55a2e46d43c65db1891440ac1835db", '<div {#if active && !hasError}class="inputbox active"{#elseif hasError}class="inputbox error-color"{#else}class="inputbox"{/if}>\n    <div class="u-logo"><div class="u-logo-img2"></div></div>\n    <div class="u-input box">\n        <label on-click={this.onLabelFocus($event)} {#if !labelHidden && !hasValue}class="u-label"{#else}class="u-label f-dn"{/if}>{placeholder}</label>\n        <input type="password" style="display:none;width:0;height:0;">\n        <input {#if isIOS}on-touchend={this.onHackFocus($event)}{/if} on-propertychange={this.onPropertychange($event)} ref="input" on-focus={this.onFocus($event)} on-input={this.onInput($event)} on-blur={this.onBlur($event)} placeholder="{placeholder}" name="email" class="j-inputtext dlemail" type="password" autocomplete="new-password" tabindex="{tabindex}" r-model={pwdValue} spellcheck="false">\n        <input {#if isIOS}on-touchend={this.onHackFocus($event)}{/if} type="text" on-propertychange={this.onPropertychange($event)} on-focus={this.onFocus($event)} on-input={this.onInput($event)} on-blur={this.onBlur($event)} ref="inputtext" placeholder="{placeholder}" class="u-pwdtext" {#if needEye && eyeActive}style="z-index:1;"{#else}style="z-index:-1;"{/if} r-model={pwdValue} spellcheck="false" />\n    </div>\n    {#if needEye}\n        <div on-click={this.onChangePwdType($event)} {#if eyeActive}class="u-tip-eye m-eye u-pwdshow-mb eyeactive"{#else}class="u-tip-eye m-eye u-pwdshow-mb"{/if} ><div class="u-success u-eye u-clear"></div></div>\n        <div on-mouseover={this.onMouseOver()} on-mouseout={this.onMouseOut()}  on-click={this.onClearInput($event)} class="u-tip" {#if hasValue && showBtn}style="display:block;"{#else}style="display:none;"{/if}><div class="u-success u-clear"></div></div>\n    {#else}\n        <div on-mouseover={this.onMouseOver()} on-mouseout={this.onMouseOut()}  on-click={this.onClearInput($event)} class="u-tip" {#if hasValue && showBtn}style="display:block;"{#else}style="display:none;"{/if}><div class="u-success u-clear"></div></div>\n    {/if}\n</div>');
I$("c776399168982332f3dc3521e4501bd8", function (e, t, i, n, s, r, a, o, c) {
    var _ = n.extend({
        template: s,
        data: {
            tabindex: 2,
            tabIndex: 2,
            placeholder: "请输入密码",
            errTxt: "密码须由6-16个字符组成，区分大小写",
            emptyTxt: "请输入密码",
            eyeActive: 0
        },
        config: function (e) {
            t._$merge(this.data, e || {});
            if (this.data.needCheck) this.otherCheck = this.__doOtherCheck._$bind(this);
            this.supr(e)
        },
        init: function (e) {
            this.supr(e)
        },
        onCheckRegexp: function () {
            this.data.active = 0;
            this.data.hasError = 0
        },
        onChangePwdType: function () {
            this.data.eyeActive = this.data.eyeActive ? 0 : 1;
            try {
                if (this.data.eyeActive) this.$refs.inputtext.focus(); else this.$refs.input.focus()
            } catch (e) {
            }
            this.$update()
        },
        __doOtherCheck: function () {
            var e = this.$refs.input.value;
            if (e) {
                this.$emit("pwdOtherCheck", e);
                return 1
            }
        }
    });
    return _
}, "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "0830f7c7062399cb2d29a6a897f4ff06", "8a55a2e46d43c65db1891440ac1835db");
I$("60e78cb8cadea94e785a25c6006ecd04", '<div class="ckbox m-ckcnt f-cb">\n    <div {#if active && !hasError}class="inputbox ckin active"{#elseif hasError}class="inputbox ckin error-color"{#else}class="inputbox ckin"{/if}>\n        <div class="u-input">\n            <label on-click={this.onLabelFocus($event)} {#if !labelHidden && !hasValue}class="u-label"{#else}class="u-label f-dn"{/if}>{placeholder}</label>\n            <input {#if isIOS}on-touchend={this.onHackFocus($event)}{/if} on-propertychange={this.onPropertychange($event)} ref="input" placeholder="{placeholder}" on-focus={this.onFocus($event)} on-input={this.onInput($event)} on-blur={this.onBlur($event)} name="checkcode" class="cktext" type="text" maxlength="4" tabindex="2" autocomplete="off" spellcheck="false" {#if disabled}disabled="disabled"{/if}></div>\n        <div on-mouseover={this.onMouseOver()} on-click={this.onClearInput($event)} class="u-tip" {#if showBtn && hasValue && !vfsuc}style="display:block;"{/if}><div class="u-success u-clear"></div></div>\n        <div class="u-tip" {#if vfsuc}style="display:block;"{/if}><div class="u-success u-suc"></div></div>\n    </div>\n    <div class="inputbox ckimgbox f-fr">\n        <img on-click={this.refreshImg()} ref="captcha" class="ckimg" title="点击刷新验证码" alt="点击获取验证码" />\n    </div>\n    {#if imgRefreshTip}\n    <a class="cklink" on-click={this.refreshImg()}>点击刷新图片</a>\n    {/if}\n</div>');
I$("a52fc2bf539dc8f248ee3ef41455766c", function (e, t, i, n, s, r, a, o, c, _, d, f) {
    var h = n.extend({
        template: a,
        data: {
            ignore: 1,
            needCheck: 1,
            tabIndex: 2,
            placeholder: "请输入图片验证码",
            regexp: /^[0-9a-zA-Z]{4}$/,
            errTxt: "图片验证码格式错误",
            emptyTxt: "请输入图片验证码"
        },
        config: function (e) {
            t._$merge(this.data, e || {});
            this.__product = e.product;
            this.__pkid = e.promark;
            this.supr(e)
        },
        init: function (e) {
            this.supr(e);
            this.refreshImg()
        },
        vfCapSuccess: function () {
            this.__vfcapLock = 0;
            this.data.vfsuc = 1;
            this.data.disabled = 1;
            this.data.hasValue = 1;
            this.getImglock = 1;
            this.data.active = 0;
            this.$update()
        },
        vfCapError: function (e) {
            var t = "", i = "mb-vfcp-";
            if (this.data.isUnite) i = "mb-nvfcp-";
            this.__vfcapLock = 0;
            this.data.active = 1;
            var n = e.ret;
            if ("441" != n && "444" != n && "445" != n) {
                this._$refreshImg();
                if ("401" == n) n = i + e.ret; else n = i + e.ret + (e.dt || "");
                t = r[n] || o._$getErrorTxt(e.ret);
                this.$emit("showError", {tabIndex: this.data.tabIndex, str: t, target: this.$refs.input});
                this.$update()
            } else {
                t = r[i + n] || r[n] || o._$getErrorTxt(n);
                this.$emit("refreshCap", {code: n, hasError: {tabIndex: this.data.tabIndex, str: t, target: null}})
            }
        },
        _vfcaptcha: function (e) {
            if (!this.__vfcapLock) {
                this.__vfcapLock = 1;
                var t = {};
                t.pd = this.data.product;
                t.pkid = this.data.promark;
                t.cap = e;
                t.channel = this.data.channel;
                t.un = this.$parent.getUn();
                var i = "mb-vfcp";
                if (this.data.isUnite) {
                    t.pkht = this.data.host;
                    i = "mb-nvfcp"
                }
                s._$request(i, t, this.vfCapSuccess._$bind(this), this.vfCapError._$bind(this), 1)
            }
        },
        onInput: function (e) {
            this.supr(e);
            var t = this.$refs.input.value.trim();
            if (this.data.needVf && this.data.regexp.test(t)) this._vfcaptcha(t)
        },
        refreshImg: function () {
            if (!this.getImglock) if (this.data.isUnite) this.$refs.captcha.src = MP["mb-ncp"]({
                product: this.__product,
                pkid: this.__pkid,
                pkht: this.data.host,
                channel: this.data.channel
            }, window["$cookieDomain"]); else if (this.data.isReg) MP.getId("yd_" + this.data.promark, function (e) {
                this.$refs.captcha.src = MP["mb-reg-cp"](e)
            }._$bind(this)); else this.$refs.captcha.src = MP["mb-cp"](this.__product, this.__pkid, window["$cookieDomain"])
        },
        _$refreshImg: function () {
            this.onClearInput();
            this.__vfcapLock = 0;
            this.getImglock = 0;
            this.data.disabled = 0;
            this.data.vfsuc = 0;
            this.data.hasValue = 0;
            this.$update();
            this.refreshImg()
        }
    });
    return h
}, "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "0830f7c7062399cb2d29a6a897f4ff06", "4dadb2ee6ba889b538cf0977b4b3cad0", "80db439a8709cf21b70d2cc4c6f497b8", "60e78cb8cadea94e785a25c6006ecd04", "0d434f17f93250948578c8948f9f01bf");
I$("616874829ae80baf5686b013636a9fce", '<div ref=slidebox class="ckbox m-ckcnt slidebox f-cb" style="position: relative;">\n    <div ref=ScapTcha class="ScapTcha" id="ScapTcha"></div>\n    <input ref=slidecap name="slidecap" style="height:0;width:0;display:none;" type="text" value="" />\n</div>');
I$("a6d6e6ccf0a43578bdd958ea6017b66b", function (e, t, i, n, s, r, a, o, c, _, d, f, h) {
    var l = n.extend({
        template: r, data: {ignore: 1, needCheck: 1, tabIndex: 3, errTxt: "请滑动验证码", hasError: 1}, config: function (e) {
            t._$merge(this.data, e || {});
            this.__product = e.product;
            this.__pkid = e.promark;
            this.__server = "captcha.reg.163.com/v2";
            this.__productkey = this.data.productkey;
            this.__swidth = this.data.swidth || 320;
            this.__hintTxt = this.data.hintTxt || "按住滑块，拖动完成上方拼图";
            this.__slideOpt = {
                staticServer: this.__server,
                apiServer: this.__server,
                captchaId: this.__productkey,
                width: this.__swidth,
                forceHttps: !0,
                alignToSpace: !0,
                hintTxt: this.__hintTxt,
                verifyCallback: this.__slideVerify._$bind(this),
                initCallback: this.__initCallback._$bind(this),
                initErrorHandler: this.__initErrorHandler._$bind(this)
            };
            this.supr(e)
        }, __initCallback: function () {
            this._$postMessage({type: "mbInitSuccess"})
        }, __initErrorHandler: function () {
            this.$emit("showError", {tabIndex: this.data.tabIndex, str: "验证码初始化失败，请刷新页面重试"});
            this._$postMessage({type: "mbInitSuccess"})
        }, init: function (e) {
            this.supr(e);
            this.refreshSlide()
        }, __verifyOk: function () {
            this.__clearSlideErr();
            this.__setSlideSuc()
        }, __verifyFail: function (e) {
            var t = e.ret;
            this.__showSlideErr(1, t)
        }, __newVerifyCap: function (e, t) {
            e.cap = t ? t.validate : this.__myCaptcha.getPwd();
            e.v = 2;
            return e
        }, __oldVerifyCap: function (e) {
            e.cap = this.__myCaptcha.getPwd();
            return e
        }, __doVerify: function (e) {
            var t;
            var i = {pd: this.__product, pkid: this.__pkid, capkey: this.__productkey, channel: this.data.channel};
            i.un = this.$parent.getUn();
            if (3 == this.data.version) i = this.__newVerifyCap(i, e); else i = this.__oldVerifyCap(i);
            t = 2 == this.data.slideTarget ? "mb-vftcp" : "mb-vfccp";
            if (this.data.isUniteLogin) {
                i.pkht = this.data.host;
                t = 2 == this.data.slideTarget ? "mb-nvftcp" : "mb-nvfccp"
            }
            this.prefix = t + "-";
            s._$request(t, i, this.__verifyOk._$bind(this), this.__verifyFail._$bind(this), 1)
        }, __setSlideSuc: function () {
            if (3 == this.data.version && "popup" == this.data.mode) {
                this.$emit("slideOk", {});
                this.__myCaptcha && this.__myCaptcha.removeLayer()
            }
            var e = i._$getByClassName(document, "ncpt_txt_status")[0];
            if (e) {
                e.style.display = "block";
                e.innerHTML = '<div class="u-success u-suc"></div>';
                e.className = "ncpt_txt_status TxtStatus statusTxt"
            }
        }, __slideVerify: function (e) {
            if (3 == this.data.version) e.value = e.validate;
            if (e.value) {
                this.data.hasError = 0;
                this.__clearSlideErr();
                if (this.data.isPwLogin || this.data.isUniteLogin) this.__doVerify(e); else this.__setSlideSuc()
            } else this.__showSlideErr()
        }, __showSlideErr: function (e, t) {
            this.data.hasError = 1;
            if (3 == this.data.version && "popup" == this.data.mode) this.__myCaptcha && this.__myCaptcha.removeLayer();
            if (e) {
                this.prefix += t;
                var i = a[this.prefix] || a[t] || c._$getErrorTxt(t);
                this.$emit("showError", {tabIndex: this.data.tabIndex, str: i, target: this.$refs && this.$refs.input});
                if ("441" == t || "444" == t || "445" == t) this.$emit("refreshCap", {code: t}); else this.refreshSlide()
            } else {
                this.data.errTxt = 2 == this.data.slideTarget ? window._$capTxt1 : window._$capTxt2;
                this.$emit("showError", {tabIndex: this.data.tabIndex, str: this.data.errTxt, target: this.$refs.input})
            }
        }, __clearSlideErr: function () {
            this.$emit("rmError", {tabIndex: this.data.tabIndex})
        }, __getNewSlideCap: function (e) {
            var t = {
                capBox: this.$refs.slidebox,
                captchaType: this.data.slideTarget,
                parentNode: this.$refs.ScapTcha,
                customStyles: this.data.customStyles || {},
                capPadding: this.data.capPadding || "",
                capBarHeight: this.data.capBarHeight || "",
                isLogin: e,
                lang: this.data.lang,
                captchaId: this.data.productkey,
                mode: this.data.mode,
                width: this.data.swidth,
                verifyCallback: this.__slideVerify._$bind(this),
                initCallback: this.__initCallback._$bind(this),
                initErrorHandler: this.__initErrorHandler._$bind(this)
            };
            if (this.__myCaptcha) this.__myCaptcha = this.__myCaptcha.destroy();
            this.__myCaptcha = new o({data: t})
        }, __getOldSlideCap: function (e) {
            this.__slideOpt.captchaType = this.data.slideTarget;
            this.__slideOpt.element = this.$refs.ScapTcha;
            if (e) {
                if (window._$needUrsBgp && window._$BGP) {
                    this.__slideOpt.apiServer = "captcha2.reg.163.com/v2";
                    this.__slideOpt.staticServer = "captcha2.reg.163.com/v2"
                }
            } else if (window._$needUrsBgp && window._$BGPZC) {
                this.__slideOpt.apiServer = "captcha2.reg.163.com/v2";
                this.__slideOpt.staticServer = "captcha2.reg.163.com/v2"
            }
            this.__slideOpt.showDelay = 300;
            var t = i._$getChildren(this.__slideOpt.element);
            if (this.__myCaptcha && t.length && t.length > 0) this.__myCaptcha.refresh(this.__slideOpt); else this.__myCaptcha = new window.NECaptcha(this.__slideOpt)
        }, refreshSlide: function () {
            this.data.slideTarget = this.$parent.getSlideTarget();
            var e = this.data.isUniteLogin || this.data.isLoginModule ? 1 : 0;
            if (3 == this.data.version) this.__getNewSlideCap(e); else this.__getOldSlideCap(e)
        }, onCheckRegexp: function () {
            if (this.data.hasError) {
                this.__showSlideErr();
                if (3 == this.data.version && "popup" == this.data.mode) this.refreshSlide()
            }
            return this.data.hasError
        }, _$getPwdValue: function () {
            return this.__myCaptcha.getPwd()
        }, _$getCapKey: function () {
            return this.__productkey
        }, _$getCt: function () {
            return this.__myCaptcha.getCt()
        }, _$refreshSlide: function (e) {
            this.data.hasError = 1;
            if ("444" == e) this.data.slideTarget = 2;
            if ("445" == e) this.data.slideTarget = 3;
            this.refreshSlide()
        }, _$destroyNewCap: function () {
            this.data.hasError = 1;
            if (this.__myCaptcha) this.__myCaptcha = this.__myCaptcha.destroy()
        }
    });
    return l
}, "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "2ac3f77d0ef746bec9bbcf1bce8e537b", "4dadb2ee6ba889b538cf0977b4b3cad0", "616874829ae80baf5686b013636a9fce", "80db439a8709cf21b70d2cc4c6f497b8", "7f762a2b6da0e2dc582e1cde66c68ac8", "0d434f17f93250948578c8948f9f01bf");
I$("32009cdc1ab04fe82a4b17f79eb858ce", '<div class="m-container">\n    <div class="u-tab f-cb">\n        <a class="tab1" on-click={this.goSmsLogin()}>{mbSmsLoginTxt}</a>\n    </div>\n    <!--帐号-->\n    <mninput mbOnlyItl="{mbOnlyItl}" mbNeedItl="{mbNeedItl}" needEye="{needEye}" ref=mninput on-showError={this.doShowError($event)} on-rmError={this.rmError($event)} placeholder="{mobilePlaceholder.mobile}" />\n    <div class="fur-change-email"></div>\n    <!--密码needEye="{needEye}"-->\n    <mpinput needEye="{needEye}" ref=mpinput on-showError={this.doShowError($event)} on-rmError={this.rmError($event)} placeholder="{mobilePlaceholder.pwd1}" />\n    <!-- 验证码 -->\n    {#if hasImgCap}\n    <captcha ignore="0" imgRefreshTip="{imgRefreshTip}" needEye="{needEye}" ref=captcha on-refreshCap={this.doRefreshCap($event)} on-showError={this.doShowError($event)} on-rmError={this.rmError($event)} product="{product}" promark="{promark}" needVf="1" channel="{channel}" placeholder="{mobilePlaceholder.cap1}" />\n    {/if}\n    <!-- 滑块验证码 -->\n    {#if hasSlide}\n    <slidecap ignore="0" capBarHeight={capBarHeight} capPadding={capPadding} customStyles="{customStyles}" lang="{lang}" mode="{mode}" version="{version}" tabIndex=-1 ref=slidecap on-refreshCap={this.doRefreshCap($event)} isPwLogin=1 on-showError={this.doShowError($event)} on-rmError={this.rmError($event)} server="{server}" productkey="{productkey}" swidth="{swidth}" product="{product}" promark="{promark}" hintTxt="{hintTxt}" channel="{channel}" isLoginModule=1 on-slideOk="{this.onSlideOk($event)}" />\n    {/if}\n    <!-- 错误提示 -->\n    <div class="m-nerror f-dn" id="nerror"></div>\n    <!-- 登录按钮 -->\n    <div class="f-cb loginbox">\n        <a ref=loginBtn id="submitBtn" on-click={this.doLogin()} {#if mbLoginLock}class="u-loginbtn btncolor tabfocus u-loginbtn-gary"{#else}class="u-loginbtn btncolor tabfocus"{/if} tabindex="8">{mbBtnTxt}</a>\n    </div>\n    <!-- 免登复选框 -->\n    <div class="m-unlogin">\n        {#if mobileUnLoginTime}\n            <div on-click={this.onChangeUnLogin()} class="b-unlogn">\n                <span {#if mobileDefaultUnLogin}class="u-checkbox tabfocus u-checkbox-select"{#else}class="u-checkbox tabfocus"{/if}>\n                </span>\n                <label for="un-login">{mobileUnLoginTimeTxt}</label>\n            </div>\n        {/if}\n        <a class="forgetpwdReg" data-outlink="1" href={pwdfind} target="_blank">忘记密码？</a>\n        {#if !single}\n        {#if mbLogin && mbLogin.gotoRegTextMbUrl}\n            <a class="u-regbtn bgcolor tabfocus j-redirect" href="{mbLogin.gotoRegTextMbUrl}" data-outlink="2" target="_blank" tabindex="11">{gotoRegTextMb}</a>\n        {#else}\n            <a class="u-regbtn bgcolor tabfocus j-redirect" href="javascript:void(0);" data-outlink="2" target="_self" tabindex="11" data-action="changepage" data-mdtype="1">{gotoRegTextMb}</a>\n        {/if}\n        {/if}\n    </div>\n    <!-- 第三方登录 -->\n    {#if config && config.length}\n    <div ref=thirdLogin class="m-ologin">\n        <div class="otip f-fl">其他方式登录</div>\n        <div class="olist">\n            {#list config as o}\n                <a data-width="{o.width}" data-height="{o.height}" data-outlink="1" data-link="{o.url}" class="f-cb f-fl third {o.name} j-redirect" href="javascript:void(0);"></a>\n            {/list}\n        </div>\n    </div>\n    {/if}\n</div>\n');
I$("fb7f27727cad3598d635a3e7187a5e0b", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l, u) {
    var p = s.extend({
        template: d,
        data: {
            module: "login",
            warn: "",
            btnTxt: "登  录",
            unLoginText: "几天免登录",
            gotoRegText: "注册手机帐号",
            channel: 1,
            mbSmsLoginTxt: "使用短信验证登录",
            mobileDefaultUnLogin: 0,
            mobileUnLoginTime: 0,
            mobileUnLoginTimeTxt: "十天内免登录"
        },
        config: function (e) {
            if (e.uniteLogin) this.data.mbSmsLoginTxt = "短信快捷登录";
            t._$merge(this.data, e || {});
            if (this.data.mbLogin && this.data.mbLogin.gotoRegTextMbUrl && i._$notURL(this.data.mbLogin.gotoRegTextMbUrl)) this.data.mbLogin.gotoRegTextMbUrl = "";
            this.supr(e);
            this.__loginLockTxtMb = this.data.lockConfig && this.data.lockConfig.loginLockTxtMb || "正在登录..."
        },
        doAction: function (t) {
            var i = e._$getElement(t), s = n._$dataset(i, "action");
            if ("goSmsLogin" == s) this.goSmsLogin()
        },
        init: function (t) {
            this.supr(t);
            this.doInit();
            e._$delEvent(document, "click", this.doAction._$bind(this));
            e._$addEvent(document, "click", this.doAction._$bind(this));
            if (this.$refs.thirdLogin) {
                e._$clearEvent(this.$refs.thirdLogin);
                e._$addEvent(this.$refs.thirdLogin, "click", this.doClick._$bind(this))
            }
            _gaq.push(["_trackEvent", "手机帐号密码登录模块", "初始化", ""])
        },
        destroy: function () {
            if (this.$refs && this.$refs.captcha) this.$refs.captcha._$setValue("");
            this.supr()
        },
        goSmsLogin: function () {
            var e = 0;
            var t = this.$refs.mninput._$getValue().trim();
            var i = {username: t};
            this._$postMessage({type: "mbChangeModule"});
            _gaq.push(["_trackEvent", "手机帐号登录页面", "点击切换登录方式", "切换到用验证码登录###" + JSON.stringify(i)]);
            if (this.data.uniteLogin) e = 2;
            this.$emit("changeModule", e)
        },
        getGtSuccess: function (e) {
            this.ticket = e.tk;
            var t = {};
            if (this.data.mobileDefaultUnLogin) {
                t.l = 1;
                t.d = this.data.mobileUnLoginTime
            }
            t.un = this.$refs.mninput._$getValue().trim();
            t.pw = MP.encrypt2(this.$refs.mpinput._$getValue() || "0");
            t.pd = this.data.product;
            t.pkid = this.data.promark;
            t.tk = this.ticket;
            t.domains = this.data.domains || "";
            _._$request("mb-login", t, this.loginSuccess._$bind(this, 1), this.loginError._$bind(this, "mb-login-"), 1)
        },
        onSlideOk: function () {
            this.doLogin()
        }
    });
    p.component("mninput", r);
    p.component("mpinput", a);
    p.component("captcha", o);
    p.component("slidecap", c);
    return p
}, "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "0d434f17f93250948578c8948f9f01bf", "d73a726efb8534e8d72defb6cd280a1c", "2ac3f77d0ef746bec9bbcf1bce8e537b", "81e1ce8efe96c75235628db75e167e9c", "c776399168982332f3dc3521e4501bd8", "a52fc2bf539dc8f248ee3ef41455766c", "a6d6e6ccf0a43578bdd958ea6017b66b", "4dadb2ee6ba889b538cf0977b4b3cad0", "32009cdc1ab04fe82a4b17f79eb858ce");
I$("4b8a011ef397f944ac6ae4710b7660e0", function (e, t, i, n, s, r, a, o, c, _, d) {
    var f;
    o._$$CountDown = e._$klass();
    f = o._$$CountDown._$extend(s._$$EventTarget);
    f.__init = function (e) {
        this.__super(e);
        this.__btn = e.btn
    };
    f.__reset = function (e) {
        this.__super(e);
        this.__lock = 0;
        this.__initEvent()
    };
    f.__initEvent = function () {
        this.__doInitDomEvent([[this.__btn, "click", this.__onClick._$bind(this)]])
    };
    f.__setTimeout = function () {
        var e, i;
        var n = function () {
            if (0 != e) {
                e--;
                this.__btn.innerHTML = e + "秒后重发"
            } else {
                this.__btn.innerHTML = "获取验证码";
                t._$delClassName(this.__btn, "disable");
                this.__btn.disabled = !1;
                this.__lock = 0;
                i = clearInterval(i)
            }
        };
        return function () {
            t._$addClassName(this.__btn, "disable");
            this.__btn.disabled = !0;
            e = 30;
            this.__btn.innerHTML = e + "秒后重发";
            i = setInterval(n._$bind(this), 1e3)
        }
    }();
    f.__onClick = function () {
        try {
            this.__btn.focus()
        } catch (e) {
        }
        if (!this.__lock) this._$dispatchEvent("onclick")
    };
    f._$getSms = function () {
        this.__lock = 1;
        this.__setTimeout()
    }
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b75e70b49b58692524630910fc7d379f", "0d434f17f93250948578c8948f9f01bf", "e0bb0da6f7024b41d8cdfca433929fe5");
I$("25133d8df8b8abafd3835677a2e679e5", '<div class="m-pccnt f-cb">\n    <div class="m-pcbox">\n        <div {#if active && !hasError}class="inputbox m-mb m-pc f-fl active"{#elseif hasError}class="inputbox m-mb m-pc f-fl error-color"{#else}class="inputbox m-mb m-pc f-fl"{/if}>\n            <div class="u-input">\n                <label on-click={this.onLabelFocus($event)} {#if !labelHidden && !hasValue}class="u-label"{#else}class="u-label f-dn"{/if}>{placeholder}</label>\n                <input {#if isIOS}on-touchend={this.onHackFocus($event)}{/if} on-propertychange={this.onPropertychange($event)} ref="input" on-focus={this.onFocus($event)} on-input={this.onInput($event)} on-blur={this.onBlur($event)} placeholder="{placeholder}" name="phonecode" class="j-inputtext pcin" type="tel" data-max-length="6" maxlength="6" tabindex="5" spellcheck="false" autocomplete="off"></div>\n            <div on-mouseover={this.onMouseOver()} on-mouseout={this.onMouseOut()} on-click={this.onClearInput($event)} class="u-tip" {#if hasValue && showBtn}style="display:block;"{/if}><div class="u-success u-clear"></div></div>\n        </div>\n\n        <div class="pcbtn f-fl">\n            <a ref=smsBtn href="javascript:void(0);" class="tabfocus getsmscode">获取验证码</a>\n        </div>\n    </div>\n</div>');
I$("4707e346b4989a11d35ab88a4cc8f690", function (e, t, i, n, s, r, a, o, c, _) {
    var d = n.extend({
        template: r,
        data: {
            needCheck: 1,
            tabIndex: 4,
            placeholder: "请输入短信验证码",
            regexp: /^\d{6}$/,
            errTxt: "短信验证码格式错误",
            emptyTxt: "请输入短信验证码",
            slideKey: "123"
        },
        config: function (e) {
            t._$merge(this.data, e || {});
            this.supr(e)
        },
        init: function (e) {
            this.supr(e);
            if (!this.__countDownBtn) this.__countDownBtn = s._$$CountDown._$allocate({
                btn: this.$refs.smsBtn,
                onclick: this.onSendSms._$bind(this)
            })
        },
        onSendSms: function () {
            this.$emit("sendSms")
        },
        getSms: function () {
            this.__countDownBtn._$getSms()
        }
    });
    return d
}, "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "0830f7c7062399cb2d29a6a897f4ff06", "4b8a011ef397f944ac6ae4710b7660e0", "25133d8df8b8abafd3835677a2e679e5");
I$("99a9d552b1b3896e77e85dfa862d77cf", '<div class="m-container">\n    <div class="u-tab f-cb">\n        <a class="tab0" on-click={this.goPwdLogin()}>{mbPwdLoginTxt}</a>\n    </div>\n    <!--帐号-->\n    <mninput mbOnlyItl="{mbOnlyItl}" mbNeedItl="{mbNeedItl}" needEye="{needEye}" ref=mninput on-showError={this.doShowError($event)} on-rmError={this.rmError($event)} placeholder="{mobilePlaceholder.mobile2}" />\n    <!-- 验证码 -->\n    {#if hasImgCap}\n    <captcha tabIndex=-1 imgRefreshTip="{imgRefreshTip}" needEye="{needEye}" ref=captcha on-refreshCap={this.doRefreshCap($event)} on-showError={this.doShowError($event)} on-rmError={this.rmError($event)} product="{product}" pkid="{pkid}" promark="{promark}" placeholder="{mobilePlaceholder.cap2}" />\n    {/if}\n    <!-- 滑块验证码 -->\n    {#if hasSlide}\n    <slidecap capBarHeight={capBarHeight} capPadding={capPadding} customStyles="{customStyles}" lang="{lang}" mode="{mode}" version="{version}" tabIndex=-1 ref=slidecap on-refreshCap={this.doRefreshCap($event)} on-showError={this.doShowError($event)} on-rmError={this.rmError($event)} server="{server}" productkey="{productkey}" swidth="{swidth}" product="{product}" promark="{promark}" hintTxt="{hintTxt}" channel="{channel}" isLoginModule=1 on-slideOk="{this.onSlideOk($event)}" />\n    {/if}\n    <!-- 短信 -->\n    <smsinput needEye="{needEye}" ref=smsinput on-showError={this.doShowError($event)} on-rmError={this.rmError($event)} on-sendSms={this.sendSms($event)} product="{product}" pkid="{pkid}" promark="{promark}" placeholder="{mobilePlaceholder.sms2}" />\n    <!-- 错误提示 -->\n    <div class="m-nerror f-dn" id="nerror"></div>\n    <!-- 登录按钮 -->\n    <div class="f-cb loginbox">\n        <a ref=loginBtn id="submitBtn" on-click={this.doLogin()} {#if mbLoginLock}class="u-loginbtn btncolor tabfocus u-loginbtn-gary"{#else}class="u-loginbtn btncolor tabfocus"{/if} tabindex="8">{smsBtnTxt}</a>\n    </div>\n    <!-- 免登复选框 -->\n    <div class="m-unlogin">\n        {#if mobileUnLoginTime}\n            <div  on-click={this.onChangeUnLogin()} class="b-unlogn">\n                <span {#if mobileDefaultUnLogin}class="u-checkbox tabfocus u-checkbox-select"{#else}class="u-checkbox tabfocus"{/if}>\n                </span>\n                <label for="un-login">{mobileUnLoginTimeTxt}</label>\n            </div>\n        {/if}\n        <a class="forgetpwdReg" data-outlink="1" href={hasQuestion} target="_blank">遇到问题？</a>\n        <div class="b-unlogn j-unlogn f-dn">\n            <span class="u-checkbox tabfocus">\n                <input type="checkbox" name="un-login" class="un-login">\n            </span>\n            <label for="un-login">{unLoginText}</label>\n        </div>\n        {#if !single}\n        {#if mbLogin && mbLogin.gotoRegTextMbUrl}\n            <a class="u-regbtn bgcolor tabfocus j-redirect" href="{mbLogin.gotoRegTextMbUrl}" data-outlink="2" target="_blank" tabindex="11">{gotoRegTextMb}</a>\n        {#else}\n            <a class="u-regbtn bgcolor tabfocus" href="javascript:void(0);" data-outlink="2" target="_self" tabindex="11" data-action="changepage" data-mdtype="1">{gotoRegTextMb}</a>\n        {/if}\n        {/if}\n    </div>\n    <!-- 第三方登录 -->\n    {#if config && config.length}\n    <div ref=thirdLogin class="m-ologin">\n        <div class="otip f-fl">其他方式登录</div>\n        <div class="olist">\n            {#list config as o}\n                <a data-width="{o.width}" data-height="{o.height}" data-outlink="1" data-link="{o.url}" class="f-cb f-fl third {o.name} j-redirect" href="javascript:void(0);"></a>\n            {/list}\n        </div>\n    </div>\n    {/if}\n</div>\n');
I$("8612fd84ac4a799a61883cb87f823cdd", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l, u, p) {
    var m = n.extend({
        template: _,
        data: {
            module: "login",
            warn: "",
            btnTxt: "登  录",
            unLoginText: "几天免登录",
            gotoRegText: "注册手机帐号",
            channel: 2,
            mbPwdLoginTxt: "使用密码验证登录",
            mobileDefaultUnLogin: 0,
            mobileUnLoginTime: 0,
            mobileUnLoginTimeTxt: "十天内免登录"
        },
        config: function (e) {
            t._$merge(this.data, e || {});
            if (this.data.mbLogin && this.data.mbLogin.gotoRegTextMbUrl && _util._$notURL(this.data.mbLogin.gotoRegTextMbUrl)) this.data.mbLogin.gotoRegTextMbUrl = "";
            this.supr(e);
            this.__loginLockTxtMb = this.data.lockConfig && this.data.lockConfig.loginLockTxtMb || "正在登录..."
        },
        init: function (t) {
            this.supr(t);
            this.doInit();
            if (this.$refs.thirdLogin) {
                e._$clearEvent(this.$refs.thirdLogin);
                e._$addEvent(this.$refs.thirdLogin, "click", this.doClick._$bind(this));
            }
            _gaq.push(["_trackEvent", "手机帐号验证码登录模块", "初始化", ""])
        },
        iniSuccess: function (e) {
            if (this.$refs) this.supr(e)
        },
        goPwdLogin: function () {
            var e = this.$refs.mninput._$getValue().trim();
            var t = {username: e};
            this._$postMessage({type: "mbChangeModule"});
            _gaq.push(["_trackEvent", "手机帐号登录页面", "点击切换登录方式", "切换到用密码登录###" + JSON.stringify(t)]);
            this.$emit("changeModule", 1)
        },
        getGtSuccess: function (e) {
            this.ticket = e.tk;
            var t = {};
            if (this.data.mobileDefaultUnLogin) {
                t.l = 1;
                t.d = this.data.mobileUnLoginTime || 10
            }
            t.un = this.$refs.mninput._$getValue().trim();
            t.pw = this.$refs.smsinput._$getValue().trim();
            t.pd = this.data.product;
            t.pkid = this.data.promark;
            t.tk = this.ticket;
            t.domains = this.data.domains || "";
            c._$request("mb-lvfsms", t, this.loginSuccess._$bind(this, 0), this.loginError._$bind(this, "mb-lvfsms-"), 1)
        },
        getSmsSuccess: function (e) {
            this.__sendSmsLock = 0;
            this.$refs.smsinput.getSms(e)
        },
        getSmsFail: function (e) {
            var t = e.ret, i = -1, n, s = "mb-sms-lsm-";
            this.__sendSmsLock = 0;
            if ("441" == t || "444" == t || "445" == t) this.refreshCaps(s, t); else if (this.__isNewCapPopup && this.data.hasSlide) this.destroyNewCap(); else this.refreshCaps(s, t);
            if (411 == t) {
                var r = e.receiveCode.split(",");
                n = 2;
                d["mb-sms-lsm-411"] = "请您编辑短信<a>" + r[0] + "</a>发送到<a>" + r[1] + "</a> 获取验证码，短信费用由运营商收取";
                this.$refs.smsinput.onClearInputPuer()
            }
            if (420 == t || 422 == t || 602 == t) {
                if (422 == t || 602 == t) n = 2;
                i = 1
            }
            if ("401" == t && (!e.dt || "09" != e.dt)) e.ret = s + t; else e.ret = s + t + (e.dt || "");
            this.onShowErr(e, i, n)
        },
        sendSms: function () {
            if (this.isInitLoginSucc()) {
                var e = this.$refs.mninput._$emptyCheck();
                if (!e) {
                    var t = this.$refs.mninput.onCheckRegexp(), i, n;
                    this.$refs.smsinput.onClearInputPuer();
                    if (!t) if (!this.__needPopup || this.data.hasSlide) {
                        if (this.data.hasImgCap) {
                            i = this.$refs.captcha._$emptyCheck();
                            n = this.$refs.captcha.data.hasError
                        }
                        if (this.data.hasSlide) i = this.$refs.slidecap.onCheckRegexp();
                        if (!i && !n) {
                            var s = {};
                            s.mb = this.$refs.mninput._$getValue().trim();
                            s.pd = this.data.product;
                            s.pkid = this.data.promark;
                            if (this.data.hasImgCap) s.cap = this.$refs.captcha._$getValue().trim();
                            if (this.data.hasSlide) {
                                s.cap = this.$refs.slidecap._$getPwdValue();
                                s.capkey = this.$refs.slidecap._$getCapKey();
                                if (3 == this.data.version) s.v = 2
                            }
                            if (!this.__sendSmsLock) {
                                this.__sendSmsLock = 1;
                                c._$request("mb-sms-lsm", s, this.getSmsSuccess._$bind(this), this.getSmsFail._$bind(this), 1)
                            }
                        }
                    } else {
                        this.__needPopup = 0;
                        this.data.hasSlide = 1
                    }
                }
            }
        },
        onSlideOk: function () {
            this.sendSms()
        }
    });
    m.component("mninput", s);
    m.component("captcha", a);
    m.component("smsinput", r);
    m.component("slidecap", o);
    return m
}, "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "2ac3f77d0ef746bec9bbcf1bce8e537b", "81e1ce8efe96c75235628db75e167e9c", "4707e346b4989a11d35ab88a4cc8f690", "a52fc2bf539dc8f248ee3ef41455766c", "a6d6e6ccf0a43578bdd958ea6017b66b", "4dadb2ee6ba889b538cf0977b4b3cad0", "99a9d552b1b3896e77e85dfa862d77cf", "80db439a8709cf21b70d2cc4c6f497b8", "f4dec1b84700c9cc21c1a3746102e1f6");
I$("dd8e0d5b50944106b06476e733ddbc7d", '<div class="m-container m-uniteLogin">\n    <div class="u-tab f-cb">\n        <a class="tab0" on-click={this.goPwdLogin()}>{mbPwdLoginTxt}</a>\n    </div>\n    <mninput fromUnite="{uniteLogin.isItl}" mbHasItl="{uniteLogin.isItl}" needEye="{needEye}" ref=mninput on-showError={this.doShowError($event)} on-rmError={this.rmError($event)} placeholder="{uniteLogin.placeholders.mob}" />\n    <!--帐号-->\n    <!-- 验证码 -->\n    {#if hasImgCap}\n    <captcha tabIndex=-1 imgRefreshTip="{imgRefreshTip}" needVf=1 isUnite=1 needEye="{needEye}" ref=captcha on-refreshCap={this.doRefreshCap($event)} on-showError={this.doShowError($event)} on-rmError={this.rmError($event)} product="{product}" pkid="{pkid}" promark="{promark}" host="{host}" channel="{channel}" placeholder="{uniteLogin.placeholders.cap}" />\n    {/if}\n    <!-- 滑块验证码 -->\n    {#if hasSlide}\n    <slidecap capBarHeight={capBarHeight} capPadding={capPadding} customStyles="{customStyles}" lang="{lang}" mode="{mode}" version="{version}" tabIndex=-1 isUniteLogin=1 ref=slidecap on-refreshCap={this.doRefreshCap($event)} on-showError={this.doShowError($event)} on-rmError={this.rmError($event)} server="{server}" productkey="{productkey}" swidth="{swidth}" product="{product}" promark="{promark}" hintTxt="{hintTxt}" host="{host}" channel="{channel}" on-slideOk="{this.onSlideOk($event)}" />\n    {/if}\n    <!-- 短信 -->\n    <smsinput needEye="{needEye}" ref=smsinput on-showError={this.doShowError($event)} on-rmError={this.rmError($event)} on-sendSms={this.sendSms($event)} product="{product}" pkid="{pkid}" promark="{promark}" placeholder="{uniteLogin.placeholders.sms}" />\n    <!-- 错误提示 -->\n    <div class="m-nerror f-dn" id="nerror"></div>\n    <!-- 登录按钮 -->\n    <div class="f-cb loginbox">\n        <a ref=loginBtn on-click={this.doLogin()} {#if mbLoginLock}class="u-loginbtn btncolor tabfocus u-loginbtn-gary"{#else}class="u-loginbtn btncolor tabfocus"{/if} r-html={uniteLogin.loginTxtNew} tabindex="8"></a>\n    </div>\n    <!-- 条款 -->\n    {#if uniteLogin.needClause == \'1\'}\n    <span on-click={this.doCheckBox()} {#if uniteLogin.clause}class="u-zc-agree u-zc-agree-select"{#else}class="u-zc-agree"{/if}><input type="checkbox" class="zc-un-login" /></span>\n    <div class="fur-item fur-agree" style="padding: 0 0 4px 0;margin-left:24px;">\n        <label><span on-click={this.doCheckBox()}>我同意</span><a href="{uniteLogin.terms0Link}" target="_blank" tabindex="-1" data-outlink="1">{uniteLogin.terms0}</a><span on-click={this.doCheckBox()}> 和 </span><a href="{uniteLogin.terms1Link}" target="_blank" tabindex="-1" data-outlink="1">{uniteLogin.terms1}</a>\n        </label>\n    </div>\n    {/if}\n    <!-- 免登复选框 -->\n    <div class="m-unlogin">\n        {#if uniteLogin.needUnLogin == \'1\'}\n        {#if uniteLogin.unLoginTime}\n            <div on-click={this.onChangeUnLogin()} class="b-unlogn" style="border-right:0;">\n                <span {#if uniteLogin.unLoginDefautl==\'1\'}class="u-checkbox tabfocus u-checkbox-select"{#else}class="u-checkbox tabfocus"{/if}>\n                </span>\n                <label for="un-login">{uniteLogin.unLoginTxt}</label>\n            </div>\n        {/if}\n        {/if}\n        <a class="forgetpwdReg" style="float:right;color:#9eb8d4;" data-outlink="1" href={hasQuestion} target="_blank">遇到问题？</a>\n    </div>\n</div>');
I$("d8dfe6ec402af0f078763ac3230d5084", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l, u, p, m, v) {
    var g = {
        module: "uniteLogin",
        warn: "您需要同意相关条款才能使用",
        channel: 14,
        mbPwdLoginTxt: "使用密码验证登录",
        uniteLogin: {
            needClause: 1,
            isItl: 0,
            clause: 1,
            needUnLogin: 0,
            unLoginTime: 10,
            unLoginDefautl: 1,
            unLoginTxt: "十天内免登录",
            loginTxt: "快捷登录",
            terms0: "《服务条款》",
            terms0Link: "//reg.163.com/agreement_mobile.shtml",
            terms1: "《网易隐私政策》",
            terms1Link: "//reg.163.com/agreement_mobile_ysbh.shtml",
            placeholders: {mob: "请输入手机号", cap: "请输入图片验证码", sms: "请输入短信验证码"}
        }
    };
    var b = s.extend({
        template: d, config: function (e) {
            i._$merge(g.uniteLogin, e.uniteLogin);
            i._$merge(this.data, g);
            this.data.uniteLogin.loginTxtNew = l._$HtmlEncode(this.data.uniteLogin.loginTxt);
            if (l._$notURL(this.data.uniteLogin.terms0Link)) this.data.uniteLogin.terms0Link = "";
            if (l._$notURL(this.data.uniteLogin.terms1Link)) this.data.uniteLogin.terms1Link = "";
            this.supr(e);
            this.errorIndex = -1;
            this.errorIndexMap = {}
        }, init: function (e) {
            this.supr(e);
            this.doInit();
            if (this.$refs.thirdLogin) {
                t._$clearEvent(this.$refs.thirdLogin);
                t._$addEvent(this.$refs.thirdLogin, "click", this.doClick._$bind(this))
            }
            _gaq.push(["_trackEvent", "手机帐号验证码登录模块", "初始化", ""])
        }, doClick: function (e) {
            var i = t._$getElement(e), s = n._$dataset(i, "link");
            if (s) l._$doThirdLogin(e)
        }, doPreFill: function () {
            if ("1" != this.data.uniteLogin.isItl && this.data.uniteLogin.preFillUnite) {
                this.$refs.mninput._$setValue(this.data.uniteLogin.preFillUnite);
                this.data.uniteLogin.preFillUnite = ""
            } else {
                var e = h._$cookie("THE_LAST_LOGIN_MOBILE");
                if (e.indexOf("-") < 0) this.$refs.mninput._$setValue(e)
            }
        }, doInit: function (e) {
            if (1 != e) this.doPreFill();
            var t = {};
            t.pd = this.data.product;
            t.pkid = this.data.promark;
            t.pkht = this.data.host;
            t.channel = this.data.channel;
            this.data.initSuccess = 0;
            _._$request("mb-nini", t, this.iniSuccess._$bind(this), this.iniError._$bind(this, "mb-nini-"), 1)
        }, getUn: function () {
            return this.$refs.mninput._$getValue().trim()
        }, iniSuccess: function (e) {
            this.__isNewCapPopup = 3 == this.data.version && "popup" == this.data.mode;
            this._$doToggleLoingLockMb();
            this.data.initSuccess = 1;
            var t = e.capFlag || e.cf;
            this.__needPopup = 0;
            if (1 == t) {
                this.data.hasImgCap = 1;
                this.data.hasSlide = 0;
                this._$postMessage({type: "mbInitSuccess"})
            } else if (4 == t || 5 == t) {
                this.data.hasSlide = 1;
                this.data.hasImgCap = 0;
                this.data.slideTarget = 4 == t ? 2 : 3;
                if (this.__isNewCapPopup) {
                    this.__needPopup = 1;
                    this.data.hasSlide = 0
                }
            } else this._$postMessage({type: "mbInitSuccess"});
            this.$update();
            setTimeout(function () {
                if (this.data.focusHelper) this.$refs.mninput._$focusHelper();
                this._$resize()
            }._$bind(this), 200)
        }, onChangeUnLogin: function () {
            this.data.uniteLogin.unLoginDefautl = !this.data.uniteLogin.unLoginDefautl
        }, getSlideTarget: function () {
            return this.data.slideTarget
        }, iniError: function (e, t) {
            var i = t.ret;
            this.data.initSuccess = -1;
            if ("3" != window._$URSOPT.version || !window._$URSOPT.from3Cdn) if (window._$needUrsBgp) if (!this.tmpBgp && ("-2" == i || "-1" == i || "0" == i)) {
                this.tmpBgp = 1;
                window._$BGP = 1;
                setTimeout(this.doInit._$bind(this, 1), 200);
                return
            }
            if ("-401" != i) {
                if ("401" == i) i = e + t.ret; else i = e + t.ret + (t.dt || "");
                var n = {tabIndex: -1, str: f[i] || l._$getErrorTxt(t.ret), node: "nerror"};
                this._$doShowError(n)
            } else {
                this._$doShowError({tabIndex: -1, str: l._$get401Error(), node: "nerror"});
                window._$needCookieSet = 1
            }
        }, goPwdLogin: function () {
            this._$postMessage({type: "mbChangeModule"});
            this.$emit("changeModule", 1)
        }, getGtSuccess: function (e) {
            this.ticket = e.tk;
            var t = {};
            if ("1" == this.data.uniteLogin.unLoginDefautl && "1" == this.data.uniteLogin.needUnLogin) {
                t.l = 1;
                t.d = this.data.uniteLogin.unLoginTime
            }
            t.un = this.$refs.mninput._$getValue().trim();
            t.sms = this.$refs.smsinput._$getValue().trim();
            t.pd = this.data.product;
            t.pkid = this.data.promark;
            t.pkht = this.data.host;
            t.tk = this.ticket;
            t.domains = this.data.domains || "";
            t.channel = this.data.channel || "";
            _._$request("mb-nlregvfsms", t, this.loginSuccess._$bind(this, 0), this.loginError._$bind(this, "mb-nlregvfsms-"), 1)
        }, loginSuccess: function (e, t) {
            MP.getCookieId("l_yd_sign", function (e) {
                if ("null" != e) h._$cookie("l_yd_sign", {value: e, expires: 3650, path: "/"});
                h._$cookie("THE_LAST_LOGIN_MOBILE", {value: this.__username, expires: 30, path: "/"});
                this._$setDomains({
                    type: "success",
                    username: this.__username || "",
                    nextUrls: t.nextUrls,
                    k: t.k || ""
                })
            }._$bind(this))
        }, loginError: function (e, t) {
            var i = -1, n;
            var s = t.ret;
            this.doUniteLoginUnLock();
            if ("401" == s && (!t.dt || "10" != t.dt)) t.ret = e + s; else t.ret = e + s + (t.dt || "");
            if ("602" == s || "422" == s) n = 2;
            this.$update();
            this.onShowErr(t, i, n)
        }, getGtError: function (e) {
            this.doUniteLoginUnLock();
            var t = e.ret, i = "mb-nlgt-";
            if ("401" == t && (!e.dt || "10" != e.dt)) e.ret = i + t; else e.ret = i + t + (e.dt || "");
            this.onShowErr(e)
        }, doLogin: function () {
            if (!this.data.mbLoginLock) {
                if (this.isInitSucc()) if (!this.checkForm() && this.checkClause()) this.getTicket()
            } else this._$postMessage({type: "lockMbLoginState", value: this.data.mbLoginLock})
        }, isInitSucc: function () {
            if (0 == this.data.initSuccess) {
                this.doShowInitFail("登录");
                return 0
            }
            if (this.data.initSuccess == -1) {
                l._$showFail("-104");
                return 0
            }
            return 1
        }, doShowInitFail: function (e) {
            var t = "-103";
            l._$showFail(t, e)
        }, checkClause: function () {
            if (this.data.uniteLogin.needClause) if ("1" == this.data.uniteLogin.clause) return 1; else {
                this._$doShowError({tabIndex: 5, str: this.data.warn, node: "nerror"});
                return 0
            } else return 1
        }, checkForm: function () {
            var e = 0;
            i._$forIn(this.$refs, function (t) {
                if (!t.data || "1" != t.data.ignore) {
                    t.onCheckRegexp && t.onCheckRegexp();
                    if (t.data) {
                        if (t.data.emptyTxt) {
                            e = t._$emptyCheck();
                            if (e) return e
                        }
                        if (t.otherCheck && t.otherCheck()) if (t.data.hasError) {
                            e = 1;
                            return e
                        }
                        if (t.data.hasError) {
                            e = 1;
                            return e
                        }
                    }
                }
            }._$bind(this));
            return e
        }, doUniteLoginUnLock: function () {
            this.__getTicketLock = 0;
            this.__loginBtn.innerHTML = this.data.uniteLogin.loginTxtNew;
            n._$delClassName(this.__loginBtn, "u-btn-loading")
        }, doUniteLoginLock: function () {
            this.__getTicketLock = 1;
            this.__loginBtn = this.$refs.loginBtn;
            this.__loginBtn.innerHTML = "";
            n._$addClassName(this.__loginBtn, "u-btn-loading")
        }, getTicket: function () {
            if (!this.__getTicketLock) {
                this.doUniteLoginLock();
                var e = {};
                e.un = this.$refs.mninput._$getValue().trim();
                this.__username = e.un;
                e.channel = this.data.channel;
                e.pd = this.data.product;
                e.pkid = this.data.promark;
                e.pkht = this.data.host;
                _._$request("mb-nlgt", e, this.getGtSuccess._$bind(this), this.getGtError._$bind(this), 1)
            }
        }, getSmsSuccess: function (e) {
            this.__sendSmsLock = 0;
            this.$refs.smsinput.getSms(e)
        }, doShowError: function (e) {
            if (!e.node) e.node = "nerror";
            this._$doShowError(e)
        }, rmError: function (e) {
            if (!e.node) e.node = "nerror";
            this._$removeError(e)
        }, doRefreshCaps: function (e, t) {
            if ("mb-lvfsms-" != e) {
                if (this.data.hasImgCap && "411" != t) this.$refs.captcha._$refreshImg();
                if (this.data.hasSlide) this.$refs.slidecap._$refreshSlide(t)
            }
            this.$update()
        }, refreshCaps: function (e, t) {
            setTimeout(function () {
                l._$resize()
            }, 200);
            if ("441" != t) if ("444" != t && "445" != t) this.doRefreshCaps(e, t); else {
                if (this.$refs.captcha) this.$refs.captcha.destroy();
                this.$refs.captcha = null;
                delete this.$refs.captcha;
                if ("444" == t) this.data.slideTarget = 2;
                if ("445" == t) this.data.slideTarget = 3;
                if (this.data.hasSlide) {
                    this.doRefreshCaps(e, t);
                    return
                }
                this.data.hasSlide = 1;
                this.data.hasImgCap = 0;
                this.$update()
            } else {
                if (this.$refs.slidecap) this.$refs.slidecap.destroy();
                this.$refs.slidecap = null;
                delete this.$refs.slidecap;
                if (this.data.hasImgCap) {
                    this.doRefreshCaps(e, t);
                    return
                }
                this.data.hasImgCap = 1;
                this.data.hasSlide = 0;
                this.$update()
            }
        }, doRefreshCap: function (e) {
            e = e || {};
            this.refreshCaps(null, e.code);
            if (e.hasError) this.doShowError(e.hasError)
        }, getSmsFail: function (e) {
            var t = e.ret, i = -1, n, s = "mb-nlregssms-";
            this.__sendSmsLock = 0;
            if ("441" == t || "444" == t || "445" == t) this.refreshCaps(s, t); else if (this.data.hasSlide && this.__isNewCapPopup) this.destroyNewCap(); else this.refreshCaps(s, t);
            if (411 == t) {
                var r = e.receiveCode.split(",");
                n = 2;
                f["mb-nlregssms-411"] = "请您编辑短信<a>" + r[0] + "</a>发送到<a>" + r[1] + "</a> 获取验证码，短信费用由运营商收取";
                this.$refs.smsinput.onClearInputPuer()
            }
            if (420 == t || 422 == t || 602 == t) {
                if (422 == t || 602 == t) n = 2;
                i = 1
            }
            if ("401" == t && (!e.dt || "10" != e.dt)) e.ret = s + t; else e.ret = s + t + (e.dt || "");
            this.onShowErr(e, i, n)
        }, doCheckBox: function () {
            this.data.uniteLogin.clause = !this.data.uniteLogin.clause;
            if (this.data.uniteLogin.clause) this.rmError({tabIndex: 5})
        }, onShowErr: function (t, i, n) {
            var s = t.ret;
            var r = f[s] || l._$getErrorTxt(s);
            if (!e._$is("desktop") && s.indexOf("602") >= 0) r = '帐号长期未使用已冻结，请<a target="_blank" href="https://aq.reg.163.com/ydaq/welcome?module=offAccountAppeal">自助解冻</a>';
            if (!e._$is("desktop") && s.indexOf("422") >= 0) r = '该帐号已被锁定，<a target="_blank" href="https://aq.reg.163.com/ydaq/welcome?module=offAccountUnlock" style="color:#4aafe9;text-decoration:underline;">尝试解锁</a>。';
            var a = {tabIndex: i || -1, str: r, node: "nerror", type: n || ""};
            this._$doShowError(a)
        }, sendSms: function () {
            if (this.isInitSucc()) {
                var e = this.$refs.mninput._$emptyCheck();
                if (!e) {
                    var t = this.$refs.mninput.onCheckRegexp(), i, n;
                    this.$refs.smsinput.onClearInputPuer();
                    if (!t) if (!this.__needPopup || this.data.hasSlide) {
                        if (this.data.hasImgCap) {
                            i = this.$refs.captcha._$emptyCheck();
                            n = this.$refs.captcha.data.hasError
                        }
                        if (this.data.hasSlide) i = this.$refs.slidecap.onCheckRegexp();
                        if (!i && !n) {
                            var s = {};
                            s.un = this.$refs.mninput._$getValue().trim();
                            s.pd = this.data.product;
                            s.pkid = this.data.promark;
                            s.pkht = this.data.host;
                            s.channel = this.data.channel;
                            if (!this.__sendSmsLock) {
                                this.__sendSmsLock = 1;
                                _._$request("mb-nlregssms", s, this.getSmsSuccess._$bind(this), this.getSmsFail._$bind(this), 1)
                            }
                        }
                    } else {
                        this.__needPopup = 0;
                        this.data.hasSlide = 1
                    }
                }
            }
        }, _$doToggleLoingLockMb: function () {
            this.data.mbLoginLock = window._$mbLoginLock;
            this.$update()
        }, onSlideOk: function () {
            this.sendSms()
        }
    });
    b.component("mninput", r);
    b.component("captcha", o);
    b.component("smsinput", a);
    b.component("slidecap", c);
    return b
}, "605054bf841321ed40d652370c40f4e5", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "caaecd3c396a93b245bbd554253cba73", "81e1ce8efe96c75235628db75e167e9c", "4707e346b4989a11d35ab88a4cc8f690", "a52fc2bf539dc8f248ee3ef41455766c", "a6d6e6ccf0a43578bdd958ea6017b66b", "4dadb2ee6ba889b538cf0977b4b3cad0", "dd8e0d5b50944106b06476e733ddbc7d", "80db439a8709cf21b70d2cc4c6f497b8", "f4dec1b84700c9cc21c1a3746102e1f6", "0d434f17f93250948578c8948f9f01bf");
I$("13cc29cff4b27a337aabd617ae9d48de", '<form id="login-form"></form>');
I$("8fbb863276f6e70b6bebef7ceadbfc67", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l) {
    var u = s.extend({
        template: _, data: {}, config: function (e) {
            t._$merge(this.data, e || {});
            this.supr(e)
        }, init: function (i) {
            this.supr(i);
            this.__config = {};
            t._$merge(this.__config, i);
            this.__config.config = n._$parseOauth();
            e._$addEvent(document, "keyup", this.doEnter._$bind(this))
        }, destroy: function () {
            e._$clearEvent(document, "keyup");
            this.supr()
        }, _$changeModule: function (e) {
            if (this.__ml) this.__ml.destroy();
            if (this.__msl) this.__msl.destroy();
            if (this.__uml) this.__uml.destroy();
            this.__config2 = {};
            t._$merge(this.__config2, this.__config);
            this.__config2.hasImgCap = 0;
            this.__config2.hasSlide = 0;
            if ("2" == e) {
                this.__config2.channel = 14;
                this.__uml = new c({data: this.__config2}).$inject("#login-form");
                this.__uml.$on("changeModule", this._$changeModule._$bind(this))
            } else if ("1" == e) {
                this.__config2.channel = 1;
                this.__ml = new a({data: this.__config2}).$inject("#login-form");
                this.__ml.$on("changeModule", this._$changeModule._$bind(this))
            } else {
                this.__config2.channel = 2;
                this.__msl = new o({data: this.__config2}).$inject("#login-form");
                this.__msl.$on("changeModule", this._$changeModule._$bind(this))
            }
        }, _$doToggleLoingLockMb: function (e) {
            window._$mbLoginLock = e;
            if (this.__ml) this.__ml._$doToggleLoingLockMb();
            if (this.__msl) this.__msl._$doToggleLoingLockMb();
            if (this.__uml) this.__uml._$doToggleLoingLockMb()
        }
    });
    return u
}, "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "d73a726efb8534e8d72defb6cd280a1c", "0d434f17f93250948578c8948f9f01bf", "2ac3f77d0ef746bec9bbcf1bce8e537b", "4dadb2ee6ba889b538cf0977b4b3cad0", "fb7f27727cad3598d635a3e7187a5e0b", "8612fd84ac4a799a61883cb87f823cdd", "d8dfe6ec402af0f078763ac3230d5084", "13cc29cff4b27a337aabd617ae9d48de");
I$("a99696d07d5ab1aa5d16c147f1e71971", function (e, t, i, n, s, r, a, o, c, _, d) {
    var f;
    o._$$Collect = e._$klass();
    f = o._$$Collect._$extend(s._$$EventTarget);
    f.__init = function (e) {
        this.__super(e)
    };
    f.__reset = function (e) {
        this.__super(e);
        this.__el = e.holder;
        this.__threMouse = e.threMouse || 32;
        this.__threKey = e.threKey || 32;
        this.__initEvent();
        this.__timeBase = new Date;
        this._events = {
            scrSx: 0,
            scrSy: 0,
            winLF: 0,
            winSx: 0,
            winSy: 0,
            winPx: 0,
            winPy: 0,
            ursSx: 0,
            ursSy: 0,
            ursPx: 0,
            ursPy: 0,
            pw1Sx: 0,
            pw1Sy: 0,
            pw1Px: 0,
            pw1Py: 0,
            check: 0,
            mouseN: 0,
            mouseL: [],
            mouseT: 0,
            keyN: 0,
            keyL: [],
            keyT: 0
        }
    };
    f.__initEvent = function () {
        var e = [[this.__el, "mousedown", this.__onMouseDown._$bind(this)], [this.__el, "keydown", this.__onKeyDown._$bind(this)]];
        this.__doInitDomEvent(e)
    };
    f.__onMouseDown = function (e) {
        var t = new Date;
        if (this._events.mouseL.length > this.__threMouse) {
            this._events.mouseL = [];
            this._events.mouseT++
        }
        this._events.mouseL.push([e.which, t - this.__timeBase]);
        this._events.mouseN++
    };
    f.__onKeyDown = function (e) {
        var t = new Date;
        var i = "T";
        if (this._events.keyL.length > this.__threKey) {
            this._events.keyL = [];
            this._events.keyT++
        }
        var n = e.keyCode;
        if (n >= 48 && n <= 57 || n >= 96 && n <= 105) i = "D"; else if (n >= 65 && n <= 90) i = "S";
        this._events.keyL.push([i, t - this.__timeBase]);
        this._events.keyN++
    };
    f._$check = function () {
        this._events.check++
    };
    f._$getEvents = function () {
        return this._events
    }
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b75e70b49b58692524630910fc7d379f", "0d434f17f93250948578c8948f9f01bf", "e0bb0da6f7024b41d8cdfca433929fe5");
I$("0daa8e33bb0f0c21f86585042f3c5a03", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l, u, p, m, v, g) {
    var b, $, N = {phone: 0, phonecode: 0};
    p._$$BindMobile = e._$klass();
    b = p._$$BindMobile._$extend(a._$$Abstract);
    b.__init = function (e) {
        this.__opts = e.opts || {};
        this.__onlyPhone = e.onlyPhone || 0;
        this.__mobile = e.mobile || "";
        this.__pbHasReged = e.mbreged || 0;
        this.__ipts = [];
        this.__super();
        this.__disabled = !0;
        this._mob_can_pass = !1;
        this.__cgp = "切换到国际手机";
        this.__country = new u({data: {}});
        this.__country.$on("setCode", this.__toggleC._$bind(this));
        this.__country.$inject(this.__itlCountry)
    };
    b.__reset = function (e) {
        this.__super(e);
        this.__hasShow = 1;
        this.__mobile = e.mobile || "";
        if (this.__mobile) {
            t._$addClassName(this.__regPhoneBox, "f-dn");
            t._$delClassName(this.__inputbox3, "f-dn");
            if (!/^\d+$/.test(this.__mobile)) this.__mobile = "";
            this.__inputbox3mobile.innerHTML = this.__mobile
        } else {
            t._$addClassName(this.__inputbox3, "f-dn");
            t._$delClassName(this.__regPhoneBox, "f-dn")
        }
        this.__promark = e.promark || "";
        this.__product = e.product || "";
        this.__captcha = e.captcha || "";
        this.__un = e.un || "";
        this.__un = this.__un.trim();
        this.__pbHasReged = e.mbreged || 0;
        this.__initForm();
        this.__initEvent();
        this.__states = {};
        this.__error.style.display = "none";
        this.__error2.style.display = "none";
        if (!this.__countDownBtn) this.__countDownBtn = h._$$CountDown._$allocate({
            btn: this.__getSmsCode,
            onclick: this.__onSendSms._$bind(this)
        });
        try {
            if (this.__mobile) {
                this.__inputs[1].focus();
                _gaq.push(["_trackEvent", "注册步骤", "【4】手机号输入", "【手机邮】" + this.__mobile.substring(0, 3)])
            } else this.__inputs[0].focus()
        } catch (i) {
        }
        this._$clearState();
        this._$dispatchEvent("onhidefooter")
    };
    b.__toggleC = function (e) {
        var n = e.code;
        var s = e.className;
        i._$stop(e);
        this.__country.data.hidden = this.__country.data.hidden ? 0 : 1;
        if ("string" == typeof n) {
            this.__itlBtn.className = "country " + s;
            this.__countryCode.innerHTML = n.replace("-", "");
            t._$dataset(this.__itlBtn, "code", n);
            try {
                this.__itlMobileInput.focus()
            } catch (r) {
            }
        }
        this.__country.$update()
    };
    b.__hideC = function () {
        if (this.__country) {
            this.__country.data.hidden = 1;
            this.__country.$update()
        }
    };
    b.__toggleCgp = function () {
        if ("切换到国际手机" == this.__cgp) {
            this.__cgp = "切换到国内手机";
            this.__isItlPhone = 1;
            t._$addClassName(this.__phoneBox, "f-dn");
            t._$delClassName(this.__itlCountry, "f-dn");
            setTimeout(function () {
                this.__ipts[0]._$onClear();
                this.__ipts[2]._$onClear();
                c._$removeError(this.__inputs[0], "nerror");
                c._$removeError(this.__inputs[2], "nerror");
                this.__ipts[1]._$onClear(2)
            }._$bind(this), 150)
        } else {
            this.__cgp = "切换到国际手机";
            this.__isItlPhone = 0;
            t._$delClassName(this.__phoneBox, "f-dn");
            t._$addClassName(this.__itlCountry, "f-dn");
            setTimeout(function () {
                this.__ipts[1]._$onClear();
                this.__ipts[2]._$onClear();
                c._$removeError(this.__inputs[1], "nerror");
                c._$removeError(this.__inputs[2], "nerror");
                this.__ipts[0]._$onClear(2)
            }._$bind(this), 150)
        }
        this.__cgpBtn.innerHTML = this.__cgp;
        t._$addClassName(this.__doreg, "btndisabled")
    };
    b.__destroy = function () {
        this.__hasShow = 0;
        this.__super()
    };
    b.__initNode = function () {
        this.__super();
        this.__inputBoxs = t._$getByClassName(this.__body, "inputbox");
        this.__inputbox3 = t._$getByClassName(this.__body, "inputbox3")[0];
        this.__inputbox3mobile = t._$getByClassName(this.__body, "inputbox3mobile")[0];
        this.__regPhoneBox = t._$getByClassName(this.__body, "reg-phone-nomobile-box")[0];
        this.__phoneBox = this.__inputBoxs[0];
        this.__itlCountry = this.__inputBoxs[1];
        this.__getSmsCode = t._$getByClassName(this.__body, "tabfocus")[0];
        this.__error = t._$getByClassName(this.__body, "fur-smserror")[0];
        this.__errorInner = t._$getByClassName(this.__body, "ettext")[0];
        this.__error2 = t._$getByClassName(this.__body, "fur-smserror2")[0];
        this.__error2Inner = t._$getByClassName(this.__body, "smserror2")[0];
        this.__itlMobileInput = t._$getByClassName(this.__body, "j-itlphone")[0];
        this.__itlBtn = t._$getByClassName(this.__body, "j-itlBtn")[0];
        this.__countryCode = t._$getByClassName(this.__body, "j-country-code")[0];
        this.__cgpBtn = t._$getByClassName(this.__body, "j-cgp")[0]
    };
    b.__initXGui = function () {
        var e = this.__mobile;
        if (this.__mobile) e = this.__mobile.substring(0, 3) + "****" + this.__mobile.substring(7);
        $ = s._$addNodeTemplate(r._$get("register-phone-tmp", {mobile: e}));
        this.__seed_html = $
    };
    b.__initEvent = function () {
        this.__inputs = t._$getByClassName(this.__body, "j-inputtext");
        this.__doreg = t._$getByClassName(this.__body, "u-loginbtn")[0];
        this.__phone = this.__inputs[0];
        this.__itlPhone = this.__inputs[1];
        this.__phonecode = this.__inputs[2];
        if (0 === this.__ipts.length) n._$forEach(this.__inputs, function (e) {
            var t = {
                opts: this.__opts,
                node: e,
                form: this.__form,
                needClose: 1,
                onfocus: this.__onFocus._$bind(this),
                onInput: this.__onInput._$bind(this)
            };
            this.__ipts.push(d._$$Input._$allocate(t))
        }._$bind(this));
        this.__doInitDomEvent([[this.__doreg, "click", this.__doReg._$bind(this)], [this.__itlBtn, "click", this.__toggleC._$bind(this)], [this.__cgpBtn, "click", this.__toggleCgp._$bind(this)], [this.__body, "click", this.__hideC._$bind(this)]]);
        this.__doInitDomEvent([[document, "keyup", this.__doEnter._$bind(this)]])
    };
    b.__onFocus = function (e) {
        if (e == this.__itlPhone) {
            this.__country.data.hidden = 1;
            this.__country.$update()
        }
        c._$removeError(e, "nerror")
    };
    b.__doEnter = function (e) {
        if (13 == e.keyCode && this.__hasShow) this.__doReg()
    };
    b.__doReg = function () {
        var e, t, i, n, s;
        if (this.__mobile) {
            n = this.__form._$checkValidity(this.__phonecode);
            t = this.__phonecode.value.trim();
            if ("" == t) c._$showError(this.__phonecode, "请输入验证码", "nerror");
            if (n) {
                e = this.__mobile;
                _gaq.push(["_trackEvent", "注册步骤", "【6】短信验证码验证", "短信验证码输入成功"]);
                this._$dispatchEvent("onfastReg", e, t)
            }
        } else {
            t = this.__phonecode.value.trim();
            if (this.__isItlPhone) {
                e = this.__getItlPhone();
                s = this.__itlPhone.value.trim();
                if (!s) {
                    c._$showError(this.__itlPhone, "请输入手机号", "nerror");
                    return
                }
                if (!this._mob_can_pass) {
                    c._$showError(null, "请先获取验证码", "nerror");
                    return
                }
                if ("" == t) c._$showError(this.__phonecode, "请输入验证码", "nerror");
                n = this.__form._$checkValidity(this.__phonecode);
                if (n) this._$dispatchEvent("onfastReg", e, t)
            } else {
                i = this.__form._$checkValidity(this.__phone);
                if (!i) {
                    if ("" == this.__phone.value.trim()) c._$showError(this.__phone, "请输入手机号", "nerror");
                    return
                }
                if (!this._mob_can_pass) {
                    c._$showError(null, "请先获取验证码", "nerror");
                    return
                }
                if ("" == t) c._$showError(this.__phonecode, "请输入验证码", "nerror");
                n = this.__form._$checkValidity(this.__phonecode);
                if (i && n) {
                    e = this.__phone.value.trim();
                    _gaq.push(["_trackEvent", "注册步骤", "【4】手机号输入", "【绑定手机输入】" + e]);
                    _gaq.push(["_trackEvent", "注册步骤", "【6】短信验证码验证", "短信验证码输入成功"]);
                    this._$dispatchEvent("onfastReg", e, t)
                }
            }
        }
    };
    b.__initForm = function () {
        if (!this.__form) this.__form = o._$$WebForm._$allocate({
            form: "reg-phone-form", oninvalid: function (e) {
                var t = "请输入", n = e.code, s = i._$getElement(e), r = s.name;
                if (n != -1) {
                    if (n == -4 || n == -2 || n == -3) {
                        t = "格式错误";
                        if ("phone" == r) t = "手机号" + t;
                        if ("phonecode" == r) t = "验证码" + t
                    }
                    this.__states[r] = 1;
                    if ("phone" == r) N["phone"] = 1; else if ("phonecode" == r) {
                        if (1 == N["phone"] && !this.__isItlPhone) {
                            c._$showError2(s, t, "nerror", 1);
                            return
                        }
                        N["phonecode"] = 1
                    }
                    c._$showError(s, t, "nerror");
                    e.stopped = !0
                } else {
                    t = "格式错误";
                    if ("phone" == r) N["phone"] = 0;
                    if ("phonecode" == r) N["phonecode"] = 0
                }
            }._$bind(this), onvalid: function (e) {
                var t = i._$getElement(e), n = t.name;
                this.__states[n] = 0;
                if ("phone" == n && 1 == N["phone"]) {
                    c._$removeError(t, "nerror");
                    N["phone"] = 0
                } else if ("phonecode" == n && 1 == N["phonecode"]) {
                    c._$removeError(t, "nerror");
                    N["phonecode"] = 0
                }
                e.stopped = !0
            }._$bind(this)
        })
    };
    b.__onInput = function (e) {
        var t = e.name, i;
        if (this.__mobile) {
            if ("phonecode" == t) {
                var n = this.__phonecode.value.trim();
                if (6 == n.length) {
                    i = this.__form._$checkValidity(this.__phonecode);
                    if (i) this.__disabled = !1; else this.__disabled = !0
                } else this.__disabled = !0
            }
        } else {
            var s = this.__phone.value.trim();
            var r = this.__phonecode.value.trim();
            var a = this.__itlPhone.value.trim();
            if (6 == r.length && 11 == s.length) {
                var o = this.__form._$checkValidity(this.__phone);
                if (!o) return;
                i = this.__form._$checkValidity(this.__phonecode);
                if (o && i) this.__disabled = !1; else this.__disabled = !0
            } else if (6 == r.length && a) {
                i = this.__form._$checkValidity(this.__phonecode);
                if (i) this.__disabled = !1; else this.__disabled = !0
            } else this.__disabled = !0
        }
        this.__checkDisable()
    };
    b.__checkDisable = function () {
        var e = t._$getByClassName(this.__body, "u-loginbtn")[0];
        if (this.__disabled) t._$addClassName(e, "btndisabled"); else t._$delClassName(e, "btndisabled")
    };
    b.__onSendSms = function () {
        return function () {
            var e;
            if (!this.__mobile) {
                if (!this.__isItlPhone) {
                    var t = this.__form._$checkValidity(this.__phone);
                    if (!t) {
                        e = "" == this.__phone.value.trim() ? "请输入手机号" : "手机号格式错误";
                        c._$showError(this.__phone, e, "nerror");
                        return
                    }
                } else if ("" == this.__itlPhone.value.trim()) {
                    e = "请输入手机号";
                    c._$showError(this.__itlPhone, e, "nerror");
                    return
                }
                this.__doSendSms()
            } else this.__doSendSms2()
        }
    }();
    b.__getItlPhone = function () {
        var e = t._$dataset(this.__itlBtn, "code");
        var i = this.__inputs[1].value.trim();
        if ("+86-" == e) return c._$emailFilter(i);
        e = e.split("+")[1];
        return c._$emailFilter(e + i)
    };
    b.__doSendSms = function () {
        if (!this.__sendSmsLock) {
            var e = this.__getItlPhone();
            var t = this.__isItlPhone ? e : this.__phone.value.trim();
            var i = {
                id: MP.promarkIdData[this.__promark],
                mb: this.__mobile || t,
                tk: MP.TICKET,
                channel: 2,
                un: this.__un
            };
            this.__sendSmsLock = 1;
            _._$request("getMailSms", i, this.__getSms._$bind(this), this.__getSmsException._$bind(this))
        }
    };
    b.__doSendSms2 = function () {
        if (!this.__sendSms2Lock) {
            var e = {
                id: MP.promarkIdData[this.__promark],
                mb: this.__mobile || this.__phone.value.trim(),
                isreactive: this.__pbHasReged || 0,
                channel: 2,
                un: this.__un
            };
            this.__sendSms2Lock = 1;
            _._$request("getMobileSms", e, this.__getSms._$bind(this), this.__getSmsException._$bind(this))
        }
    };
    b.__getSms = function () {
        if (this.__phonecode) c._$removeError(this.__phonecode, "nerror");
        this.__sendSms2Lock = 0;
        this.__sendSmsLock = 0;
        this._mob_can_pass = !0;
        this.__countDownBtn._$getSms();
        _gaq.push(["_trackEvent", "注册步骤", "【5】手机验证码获取", "短信验证码获取成功"])
    };
    b.__getSmsException = function (e) {
        this.__sendSms2Lock = 0;
        this.__sendSmsLock = 0;
        this._mob_can_pass = !0;
        var t, i, n, s = e.ret, r = e.dt, a;
        if ("416" != s) if ("412" != s && "413" != s && "415" != s) if ("107" != s && "108" != s && "109" != s && "110" != s) if ("500" != s) {
            i = "EXCEPTION_GET_SMS_" + s;
            if ("411" == s) {
                n = e.receiveCode.split(",");
                t = '请您编辑短信"<strong class="msg">' + n[0] + '</strong>",发送到<strong class="phone">' + n[1] + "</strong> 获取验证码，短信费用由运营商收取";
                c._$showError(null, t, "nerror", 2)
            } else {
                if ("02" == r && "401" == s) i = "40102";
                t = f[i] || f[s] || c._$getErrorTxt(e.ret);
                if ("401" == s && r && "13" == r) t = "请输入正确的手机号";
                c._$showError(null, t, "nerror")
            }
        } else this._$dispatchEvent("onfail", 1); else {
            i = "EXCEPTION_GET_SMS_" + s;
            t = f[i] || f[s] || c._$getErrorTxt(e.ret);
            a = 1;
            if ("108" == s) a = 1;
            if ("109" == s) a = 4;
            if ("110" == s) a = 5;
            this._$dispatchEvent("onback", {cf: a, errorTxt: t, noRefresh: 1})
        } else {
            i = "EXCEPTION_GET_SMS_" + s;
            t = f[i] || f[s] || c._$getErrorTxt(e.ret);
            c._$showError(null, t, "nerror")
        } else {
            i = "EXCEPTION_GET_SMS_" + s;
            t = f[i] || f[s] || c._$getErrorTxt(e.ret);
            this._$dispatchEvent("onback", {cf: e.cf, errorTxt: t, noRefresh: 1})
        }
    };
    b._$clearState = function (e) {
        this.__ipts[1]._$onClear();
        this.__ipts[0]._$onClear(1);
        c._$removeError(this.__inputs[0], "nerror");
        c._$removeError(this.__inputs[2], "nerror");
        if (this.__ipts[2]) this.__ipts[2]._$onClear();
        this.__error.style.display = "none";
        this.__error2.style.display = "none";
        if (e) this.__un = e
    };
    b._$fastRegException = function (e) {
        var t = e.ret, i, n = "EXCEPTION_REG_MOB_" + t;
        var s = e.dt, r;
        if ("02" == s && "401" == t) n = "40102";
        i = f[n] || f[t] || c._$getErrorTxt(e.ret);
        if ("108" == t || "109" == t || "110" == t) {
            r = 1;
            if ("108" == t) r = 1;
            if ("109" == t) r = 4;
            if ("110" == t) r = 5;
            this._$dispatchEvent("onback", {cf: r, errorTxt: i, noRefresh: 1})
        } else c._$showError(null, i, "nerror")
    }
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b07a20e1d9be763162954dd0fcf2feb3", "83c67d5b20eeffc1f687e113ae22189f", "df9d93a61ae210b34038e92b4416342a", "263ef74b9fd197724ac7ba6e1cbc38f5", "0d434f17f93250948578c8948f9f01bf", "4dadb2ee6ba889b538cf0977b4b3cad0", "42cfcb0d5ca074b03c888828877bcfd5", "2340de615bb0be83782615b5be9a7ef8", "4b8a011ef397f944ac6ae4710b7660e0", "a99696d07d5ab1aa5d16c147f1e71971", "2a43840b16363f33ff35f85bac1eaffb");
I$("f635d10c8380eb5c0f2520c4a555bf57", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l, u, p, m, v, g, b) {
    var $, N;
    m._$$VerifyMobile = e._$klass();
    $ = m._$$VerifyMobile._$extend(p._$$BindMobile);
    $.__initXGui = function () {
        var e = this.__mobile;
        if (this.__mobile) e = this.__mobile.substring(0, 3) + "****" + this.__mobile.substring(7);
        N = s._$addNodeTemplate(r._$get("verify-phone-tmp", {mobile: e, notify: "请输入手机号和短信验证码"}));
        this.__seed_html = N
    };
    $.__doReg = function () {
        var e, t, i, n, s;
        if (this.__mobile) {
            n = this.__form._$checkValidity(this.__phonecode);
            t = this.__phonecode.value.trim();
            if ("" == t) c._$showError(this.__phonecode, "请输入验证码", "nerror");
            if (n) {
                e = this.__mobile;
                this._$dispatchEvent("onVerifyOk", e, t)
            }
        } else {
            t = this.__phonecode.value.trim();
            if (this.__isItlPhone) {
                e = this.__getItlPhone();
                s = this.__itlPhone.value.trim();
                if (!s) {
                    c._$showError(this.__itlPhone, "请输入手机号", "nerror");
                    return
                }
                if (!this._mob_can_pass) {
                    c._$showError(null, "请先获取验证码", "nerror");
                    return
                }
                if ("" == t) c._$showError(this.__phonecode, "请输入验证码", "nerror");
                n = this.__form._$checkValidity(this.__phonecode);
                if (n) this._$dispatchEvent("onVerifyOk", e, t)
            } else {
                i = this.__form._$checkValidity(this.__phone);
                if (!i) {
                    if ("" == this.__phone.value.trim()) c._$showError(this.__phone, "请输入手机号", "nerror");
                    return
                }
                if (!this._mob_can_pass) {
                    c._$showError(null, "请先获取验证码", "nerror");
                    return
                }
                if ("" == t) c._$showError(this.__phonecode, "请输入验证码", "nerror");
                n = this.__form._$checkValidity(this.__phonecode);
                if (i && n) {
                    e = this.__phone.value.trim();
                    this._$dispatchEvent("onVerifyOk", e, t)
                }
            }
        }
    };
    $.__doSendSms = function () {
        if (!this.__sendSmsLock) {
            this.__sendSmsLock = 1;
            var e = this.__getItlPhone();
            var t = this.__isItlPhone ? e : this.__phone.value.trim();
            var i = {un: this.__un, mb: this.__mobile || t, pd: this.__product, pkid: this.__promark};
            this.__sendSmsLock = 1;
            if (this.__onlyPhone) i.mbl = 1;
            _._$request("mbsm", i, this.__getSms._$bind(this), this.__getSmsException._$bind(this), 1)
        }
    };
    $.__doSendSms2 = function () {
        if (!this.__sendSms2Lock) {
            var e = {
                id: MP.promarkIdData[this.__promark],
                mb: this.__mobile || this.__phone.value.trim(),
                isreactive: this.__pbHasReged || 0,
                channel: 2
            };
            this.__sendSms2Lock = 1;
            if (this.__onlyPhone) e.mbl = 1;
            _._$request("mbsm", e, this.__getSms._$bind(this), this.__getSmsException._$bind(this))
        }
    };
    $.__getSmsException = function (e) {
        var t = e.ret, i = e.dt || 0, n;
        this.__sendSms2Lock = 0;
        this.__sendSmsLock = 0;
        this._mob_can_pass = !0;
        if (e) if ("401" == t && "09" == i) {
            n = "手机号格式错误";
            c._$showError(null, n, "nerror")
        } else if ("411" == t) {
            var s = e.receiveCode.split(",");
            var r = "请您编辑短信<strong> " + (s[0] || "验证") + " </strong>发送到<strong> " + (s[1] || "106981630163331") + " </strong>获取验证码，短信费用由运营商收取";
            c._$showError(null, r, "nerror", 2)
        } else if ("413" == t) c._$showError(null, "下发验证码超过了次数限制，请改天再试", "nerror", 2); else if ("430" == t) {
            this._$hide();
            this._$dispatchEvent("onback", {errorTxt: "此次登录不需要进行密保验证"})
        } else {
            n = f[t] || c._$getErrorTxt(e.ret);
            if ("401" == t && "10" == i) n = f["40110"];
            c._$showError(null, n, "nerror")
        }
    }
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b07a20e1d9be763162954dd0fcf2feb3", "83c67d5b20eeffc1f687e113ae22189f", "df9d93a61ae210b34038e92b4416342a", "263ef74b9fd197724ac7ba6e1cbc38f5", "0d434f17f93250948578c8948f9f01bf", "4dadb2ee6ba889b538cf0977b4b3cad0", "42cfcb0d5ca074b03c888828877bcfd5", "2340de615bb0be83782615b5be9a7ef8", "4b8a011ef397f944ac6ae4710b7660e0", "a99696d07d5ab1aa5d16c147f1e71971", "2a43840b16363f33ff35f85bac1eaffb", "0daa8e33bb0f0c21f86585042f3c5a03");
I$("4aa6cf516ea6fc0ac929d28786a3165e", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l, u, p, m, v, g, b, $, N, A) {
    var y, w = 2e3, C = 1e3;
    b._$$LoginManager = e._$klass();
    y = b._$$LoginManager._$extend(u._$$Manager);
    y.__init = function (e) {
        var t;
        s._$loadGaq();
        this.__options = e || {};
        window.$loginOpts = this.__options;
        this.__onlyPhone = e.onlyPhone || 0;
        if (!g._$is("desktop")) p["602"] = '邮箱服务已到期，<a target="_blank" href="//vip.163.com/webapp/#from=login&domain=163&accountChange=1" style="color:#4aafe9;text-decoration:underline;">点击续费</a>，更多精彩';
        p["601"] = s._$setOutLogin();
        this.__isNewCapPopup = 3 == this.__options.version && "popup" == this.__options.mode;
        this.__loginLockTxt = e.lockConfig && e.lockConfig.loginLockTxt || "正在登录...";
        this.__preFilledMail = e.preFilledMail || "";
        this.__domains = e.domains || "";
        this.__product = e.product || "";
        this.__promark = e.promark || "";
        this.__host = e.host || "";
        this.__focusHelper = e.focusHelper || 0;
        this.__lazyCheck = e.lazyCheck || 0;
        this.__autoSuffix = e.autoSuffix || 0;
        this.__needUnLogin = e.needUnLogin || 0;
        this.__defaultUnLogin = e.defaultUnLogin || 0;
        this.__needQrLogin = e.needQrLogin || 0;
        this.__toolName = e.toolName || 0;
        this.__toolUrl = e.toolUrl || 0;
        this.__unLoginChecked = this.__defaultUnLogin || 0;
        this.__unLoginTime = e.unLoginTime || 10;
        if (e.loadTime) {
            t = window._$BGP ? "BGP" : "非BGP";
            _gaq.push(["_trackEvent", "外层用时" + window._$PKID, "加载成功", t + "-【" + e.loadTime + "】ms"])
        }
        this.__gaqo = {pid: this.__promark, pdt: this.__product};
        this.__domain = e.prdomain;
        window["$cookieDomain"] = e.cookieDomain;
        this.__errMsg = s._$HtmlEncode(e.errMsg || "");
        this.__errMode = e.errMode || 1;
        this.__super(e);
        if (this.__errMsg) setTimeout(function () {
            s._$showError(null, this.__errMsg, "nerror")
        }._$bind(this), 20);
        s._$resize();
        i._$addEvent(window, "message", this.onMessage._$bind(this))
    };
    y.onMessage = function (e) {
        var t;
        var i = e && e.data;
        if (i) {
            if ("string" == typeof i) try {
                i = JSON.parse(i)
            } catch (n) {
            }
            if ("object" == typeof i && "URS|" == i.from) if (i.fromLoginLockMb && this.__mbLoginModule) {
                t = i.lock || 0;
                this.__mbLoginModule._$doToggleLoingLockMb(t)
            }
        }
    };
    y.__reset = function (e) {
        this.__super(e);
        this.__islogin = 1;
        this.__disabled = 1;
        this.__onpage = "login";
        this.__single = parseInt(e.single);
        this.__includeBox = !!e.includeBox;
        this.__mobileFirst = e.mobileFirst || 0;
        this.__regUrl = e.regUrl;
        this.__regUrlForce = e.regUrlForce || "";
        this.__renderBox();
        s._$resize()
    };
    y.__renderLogin = function () {
        this.__moduleType = "email";
        if (this.__needQrLogin) this.__showQrcodeBtn();
        this.__module = "goEmailLogin";
        this.__initLogin();
        this.__initUnLogin();
        this.__setUsername();
        this.__sendSize("init");
        this.__checkDisable();
        this.__inputs = t._$getByClassName(this.__box, "j-inputtext");
        this.__pwdtext = t._$get("pwdtext");
        this.__nameinput = this.__inputs[0];
        this.__passwordinput = this.__inputs[1];
        this.__checkcodeinput = this.__inputs[2];
        if (this.__domain && !this.__domain2) {
            this.__initUserNameDomain(this.__domain);
            this.__domain2 = 1
        }
    };
    y.__renderBox = function () {
        o._$render(this.__box, "index-tmp", {
            needMobileLogin: this.__options.needMobileLogin,
            goEmailLoginTxt: this.__options.goEmailLoginTxt,
            goMbLoginTxt: this.__options.goMbLoginTxt,
            goEmailRegTxt: this.__options.goEmailRegTxt,
            goMbRegTxt: this.__options.goMbRegTxt
        });
        this.__cnt = t._$getByClassName(this.__box, "m-cnt")[0];
        this.__footer = t._$getByClassName(this.__box, "m-footer")[0];
        if (this.__includeBox) {
            var e = t._$get("cnt-box-parent");
            if (!t._$hasClassName(e, "cnt-box-include")) t._$addClassName(e, "cnt-box-include")
        }
        var i = t._$get("mobileModule");
        if (this.__mobileFirst && i) this.__doAction(i); else this.__renderLogin()
    };
    y.__initUserNameDomain = function (e) {
        try {
            var i = t._$getByClassName(this.__box, "j-prdomain")[0];
            var n = t._$getByClassName(this.__box, "j-inputtext")[0];
            var r = t._$getByClassName(this.__box, "inputbox")[0];
            var a = t._$getByClassName(this.__box, "u-logo")[0];
            i.innerHTML = s._$HtmlEncode(e);
            t._$delClassName(i, "f-dn");
            n.style.width = r.clientWidth - a.clientWidth - i.clientWidth - 22 + "px";
            i.style.right = -5 - i.clientWidth + "px"
        } catch (o) {
        }
    };
    y.__showQrcodeBtn = function () {
        this.__qrm = t._$getByClassName(this.__box, "j-btnqrcode")[0];
        if (this.__qrm) {
            t._$delClassName(this.__qrm, "f-dn");
            i._$clearEvent(this.__qrm);
            i._$addEvent(this.__qrm, "click", this.__showQrcodeModule._$bind(this))
        }
    };
    y.__hideQrcodeBtn = function () {
        if (this.__qrm) t._$addClassName(this.__qrm, "f-dn")
    };
    y.__doEnter = function (e) {
        if (this.__loginModule && "login" == this.__onpage && !this.__isAppSafe) if (13 == e.keyCode && !this.__loginModule._stopEnter) this.__doAction(null, "dologin"); else if (this.__loginModule) this.__loginModule._stopEnter = 0
    };
    y.__checkDisable = function () {
        var e = t._$get("dologin");
        if (this.__disabled) t._$addClassName(e, "btndisabled"); else t._$delClassName(e, "btndisabled")
    };
    y.__destroy = function () {
        this.__clearModule();
        this.__super();
        this.__hideQrcodeBtn();
        delete this.__module
    };
    y.__initComp = function (e) {
        var t = s._$timeCountEnd("initLogin");
        if (t > 0) {
            var i = window._$BGP ? "BGP" : "非BGP";
            _gaq.push(["_trackEvent", "登录初始化" + window._$PKID, "初始化成功", "详细耗时【" + e.time + "ms】渠道" + i]);
            t = -1
        }
        if (this.__loginModule) {
            if (this.__focusHelper) this.__loginModule._$focusHelper();
            this.__showOtpOrPPcError();
            if (!this.__errMsg && e.adInfo) try {
                e.adInfo = JSON.parse(e.adInfo);
                s._$showError(0, e.adInfo.content, "nerror", 3, {icon: e.adInfo.icon})
            } catch (n) {
            }
            if (this.__loginVerifyError) {
                s._$showError(null, this.__loginVerifyError, "nerror");
                this.__loginVerifyError = null
            }
            this.__hasInit = 1;
            this.__needWatchman = "1" == e.watchman ? 1 : 0;
            this.__capFlag = e ? e.capFlag : this.__capFlag;
            if (1 == this.__capFlag) this.__showCheckCode(e); else if (4 == this.__capFlag || 5 == this.__capFlag) if (this.__isNewCapPopup) this.__loginModule._$setNeedCheckCode(); else this.__showCheckCode(e);
            this.__sendMsg({type: "loginInitSuccess"})
        }
    };
    y.__onPwdKeyUp = function () {
        this.__pwdKeyUp = 1
    };
    y.__initLogin = function () {
        var e = function (e) {
            var i = t._$get("changepage");
            t._$dataset(i, "action", "none");
            if (s._$notURL(e)) e = "";
            i.href = e || "//zc.reg.163.com/regInitialized";
            i.target = "_blank"
        };
        return function () {
            if (!this.__loginModule) this.__createLoginModule(1);
            this.__mainBtn = t._$getByClassName(this.__box, "u-loginbtn")[0];
            if (this.__regUrlForce) e.call(this, this.__regUrlForce); else if (this.__single) e.call(this, this.__regUrl)
        }
    }();
    y.__onDisabled = function (e) {
        this.__disabled = e;
        this.__checkDisable()
    };
    y.__onUnLockLogin = function () {
        this.__doLoginLock = 0;
        if (this.__loginBtn && this.__loginBtnTxt) this.__loginBtn.innerHTML = s._$HtmlEncode(this.__loginBtnTxt)
    };
    y.__onDoLockLogin = function (e) {
        e = e || {};
        this.__doLoginLock = 1;
        this.__loginBtn = t._$getByClassName(document, "u-loginbtn")[0];
        this.__loginBtnTxt = "string" == typeof this.__loginBtn.textContent ? this.__loginBtn.textContent : this.__loginBtn.innerText;
        if (!e.noTxt) this.__loginBtn.innerHTML = s._$HtmlEncode(e.txt || this.__loginLockTxt)
    };
    y.__createLoginModule = function (e) {
        var t = {pd: this.__product, pkid: this.__promark, pkht: this.__host};
        this.__addOnlyPhone(t);
        this.__iniData = t;
        if (e) {
            s._$timeCount("initLogin");
            this.__hasInit = -1;
            r._$request("initComponentLogin", t, this.__initComp._$bind(this), this.__showFail3._$bind(this, 0), 1, this.__product)
        }
        this.__loginModule = _._$$Login._$allocate({
            parent: this.__cnt,
            opts: this.__options,
            onSlideOk: this.__onSlideOk._$bind(this),
            onPwdKeyUp: this.__onPwdKeyUp._$bind(this),
            ondisabled: this.__onDisabled._$bind(this),
            onUnLockLogin: this.__onUnLockLogin._$bind(this)
        });
        if (this.__password) this.__loginModule._$setPwd(this.__password);
        this.__onpage = "login";
        i._$delEvent(document, "keyup", this.__doEnter._$bind(this));
        i._$addEvent(document, "keyup", this.__doEnter._$bind(this))
    };
    y._$doRefresh = function () {
        s._$timeCount("initLogin");
        this.__hasInit = -1;
        r._$request("initComponentLogin", this.__iniData, this.__initComp._$bind(this), this.__showFail3._$bind(this, 1), 1, this.__product)
    };
    y.__createMbLoginModule = function () {
        this.__moduleType = "mobile";
        var e = this.__options.smsLoginFirst ? 0 : 1;
        if (this.__options.uniteLogin) if ("0" == this.__options.uniteLogin.first) e = 1; else e = 2;
        if (this.__needQrLogin) this.__showQrcodeBtn();
        this.__mbLoginModule = new m({data: this.__options});
        this.__mbLoginModule.$inject(this.__cnt);
        this.__mbLoginModule._$changeModule(e, this.__cnt);
        if (this.__options.preFilledMobile) this.__options.preFilledMobile = "";
        if (this.__options.uniteLogin && this.__options.uniteLogin.preFillUnite) this.__options.uniteLogin.preFillUnite = ""
    };
    y.__showFooter = function () {
        var e = t._$get("footer");
        if (e) t._$delClassName(e, "f-dn")
    };
    y.__goModule = function () {
        this.__clearModule();
        if ("goEmailLogin" == this.__module) this.__renderLogin(); else this.__createMbLoginModule();
        this.__showFooter()
    };
    y.__doAction = function (e, r, a) {
        var o = i._$getElement(e) || e, _ = r || t._$dataset(o, "action"), d = t._$dataset(this.__mainBtn, "lock") || 0,
            f = t._$dataset(o, "srclist") || "";
        if ("dounlocklogin" != _) {
            if ("myphonegoon" == _) {
                var h = {};
                var l = this.__loginModule._$getValues(), u = l[0].trim();
                h.un = this.__domain ? s._$formatUn(u) + this.__domain : u;
                var p = t._$get("ismyphonebox");
                h.ck = "0";
                if (p) h.ck = p.checked ? "1" : "0";
                f = f ? f.split(",") : [];
                if (f.length > 0) for (var m = 0, v; m < f.length; m++) {
                    v = f[m];
                    f[m] = v + "&ck=" + h.ck
                }
                this.__setDomains({type: "success", username: this.__username || "", nextUrls: f, k: this.__tempK});
                if (!this.__onlyPhone) c._$cookie("THE_LAST_LOGIN", {
                    value: this.__username || "",
                    expires: 30,
                    path: "/"
                })
            } else if ("goEmailLogin" == _ || "goMbLogin" == _) {
                if (_ == this.__module) return;
                this.__heads = t._$getByClassName(this.__box, "j-head");
                n._$forEach(this.__heads, function (e) {
                    t._$delClassName(e, "active")
                });
                t._$addClassName(o, "active");
                this.__module = _;
                this.__goModule()
            } else if ("modeBack" == _) {
                f = f ? f.split(",") : [];
                if (f.length > 0) s._$sendLog2(f);
                this.__doBack(1)
            } else if ("modeGoon" == _) {
                f = f ? f.split(",") : [];
                this.__setDomains({type: "success", username: this.__username || "", nextUrls: f, k: this.__tempK});
                if (!this.__onlyPhone) c._$cookie("THE_LAST_LOGIN", {
                    value: this.__username || "",
                    expires: 30,
                    path: "/"
                })
            } else if ("leakLogin" == _) {
                if (this.__isLeak1) this.__doGoon(1, o); else if (this.__isLeak2) {
                    this.__isLeak = !1;
                    this.__doBack(1)
                } else if (this.__isLeak3) this.__doGoon()
            } else if ("dologin" == _) {
                if (d) this.__sendMsg({type: "lockLoginState", value: d});
                if ("1" == d) return;
                this.__doLogin()
            } else if ("dounlock-ph" == _) if (this.__phoneModule.__canUnlcok) this.__unlockAndLogin(1); else this.__phoneModule && this.__phoneModule._$showReason(); else if ("dounlock-otp" == _) if (this.__otpModule.__canUnlcok) this.__unlockAndLogin(2); else this.__otpModule && this.__otpModule._$showReason(); else if ("dounlock-ppc" == _) if (this.__ppcModule.__canUnlcok) this.__unlockAndLogin(3); else this.__ppcModule && this.__ppcModule._$showReason(); else if ("doback" == _) {
                f = f ? f.split(",") : [];
                if (f.length > 0) s._$sendLog2(f);
                this.__isLeak = !1;
                a = !a;
                this.__doBack(a)
            } else if ("doclose" == _) if (!this.__closeFlag) {
                this.__closeFlag = !0;
                this.__sendClose()
            }
            this.__super(e)
        } else {
            this.__unLockLoginState(1);
            setTimeout(function () {
                s._$showError(null, "已取消登录，请重新登录", "nerror", 2)
            }, 200)
        }
    };
    y.__goonLog = function (e) {
        if (e && "10" == e.dt && "401" == e.ret) {
            var t = p["40110"];
            s._$showError(null, t, "nerror")
        }
    };
    y.__doGoon = function (e, i) {
        var n;
        if (!this.__onlyPhone) c._$cookie("THE_LAST_LOGIN", {value: this.__username || "", expires: 30, path: "/"});
        if (1 == e) {
            n = t._$dataset(i, "srclist") || "";
            n = n ? n.split(",") : []
        }
        this.__setDomains({type: "success", username: this.__username || "", nextUrls: n || [], k: this.__tempK})
    };
    y.__clearModule = function () {
        this.__isDoBack = 0;
        if (this.__isAppSafe) this.__unLockLoginState();
        if (this.__mbLoginModule) this.__mbLoginModule.destroy();
        if (this.__phoneModule) this.__phoneModule = this.__phoneModule._$recycle(); else if (this.__otpModule) this.__otpModule = this.__otpModule._$recycle(); else if (this.__ppcModule) this.__ppcModule = this.__ppcModule._$recycle();
        if (this.__verifyMobileModule) this.__verifyMobileModule = this.__verifyMobileModule._$recycle();
        if (this.__loginModule) {
            this.__onUnLockLogin();
            this.__loginModule = this.__loginModule._$recycle()
        }
        if (this.__qrcodeModule) this.__qrcodeModule = this.__qrcodeModule._$recycle()
    };
    y.__doBack = function (e) {
        if ("object" == typeof e) this.__loginVerifyError = e.errorTxt || "";
        this.__clearModule();
        this.__isDoBack = 1;
        if (this.__module && "goMbLogin" == this.__module) {
            this.__module = null;
            this.__doAction(t._$get("mobileModule"))
        } else {
            this.__createLoginModule(e);
            this.__setUsername();
            this.__changePage()
        }
        this.__showFooter();
        s._$resize()
    };
    y.__initUnLogin = function () {
        var e = function () {
            var e = t._$getByClassName(this.__box, "u-checkbox")[0];
            if (!t._$hasClassName(e, "u-checkbox-select")) {
                this.__unLoginChecked = 1;
                t._$addClassName(e, "u-checkbox-select")
            } else {
                this.__unLoginChecked = 0;
                t._$delClassName(e, "u-checkbox-select")
            }
        };
        return function () {
            var n = t._$getByClassName(this.__box, "j-unlogn")[0];
            if (this.__needUnLogin && n) {
                t._$delClassName(n, "f-dn");
                var s = t._$getByClassName(n, "un-login")[0];
                if (this.__unLoginChecked) t._$addClassName(t._$getByClassName(this.__box, "u-checkbox")[0], "u-checkbox-select");
                i._$clearEvent(s);
                i._$addEvent(s, "click", e._$bind(this))
            } else t._$addClassName(n, "f-dn")
        }
    }();
    y.__setUsername = function () {
        var e;
        var t = this.__preFilledMail || this.__username || c._$cookie("THE_LAST_LOGIN");
        if (t) {
            if (this.__domain) if (t.substring(t.indexOf("@")) === this.__domain) e = t.substring(0, t.indexOf("@")); else e = ""; else if (this.__onlyPhone) e = this.__preFilledMail || this.__username || ""; else e = t;
            this.__loginModule._$setUsername(e);
            this.__preFilledMail = ""
        }
    };
    y.__unlockAndLogin = function (e) {
        if (1 == e) this.__phoneModule._$stateOK(this.__doUnlockAndLogin._$bind(this, e)); else if (2 == e) this.__otpModule._$stateOK(this.__doUnlockAndLogin._$bind(this, e)); else if (3 == e && this.__ppcModule.__canUnlcok) this.__doUnlockAndLogin(3, 1)
    };
    y.__doUnlockAndLogin = function (e, t) {
        if (t) {
            var i, n = {}, s = {};
            n.un = this.__username;
            n.pw = MP.encrypt2(this.__password || "0");
            n.pkid = this.__promark;
            n.pd = this.__product;
            n.l = this.__unLoginChecked ? 1 : 0;
            n.d = this.__unLoginTime;
            if (1 == e) {
                i = this.__phoneModule._$getValues();
                s.sms = i[0];
                s.un = this.__username;
                s.pd = this.__product;
                s.pkid = this.__promark;
                this.__dovfsms(s, n)
            } else if (2 == e) {
                _value = this.__otpModule._$getValues() || "";
                s.otppwd = _value;
                s.un = this.__username;
                s.pd = this.__product;
                s.pkid = this.__promark;
                this.__dovfotp(s, n)
            } else if (3 == e) {
                i = this.__ppcModule._$getValues() || [];
                s.cos = this.__ppcCos;
                s.ppcpwd = i[0] + i[1] + i[2];
                s.un = this.__username;
                s.pd = this.__product;
                s.pkid = this.__promark;
                this.__dovfppc(s, n)
            }
        }
    };
    y.__dovfsms = function (e, t) {
        if (!this.__vfLock) {
            this.__vfLock = 1;
            this.__addOnlyPhone(e);
            r._$request("vfsms", e, this.__vfSuccess._$bind(this, t), this.__vfsmsWarn._$bind(this), 1, this.__product)
        }
    };
    y.__vfSuccess = function (e) {
        this.__vfLock = 0;
        this.__doAction(null, "doback", 1);
        this.__safeLogin(e, 1)
    };
    y.__vfsmsWarn = function (e) {
        this.__vfLock = 0;
        var t = e.ret;
        var i;
        if (e) if ("423" == t) this.__showLeak(); else if ("401" == t) {
            if ("10" == e.dt) i = p["40110"]; else i = p["401"];
            s._$showError(null, i, "nerror")
        } else if ("412" == t || "430" == t) {
            this.__phoneError = "412" == t ? "验证码错误次数过多，请改天再试" : "此次登录不需要进行密保验证";
            this.__doAction(null, "doback")
        } else if ("501" == t || "500" == t) this.__showFail(t); else {
            if (e.dt) t = t + "-" + e.dt;
            if (t) {
                var n = p[t] || s._$getErrorTxt(e.ret), r = 424 == t || 425 == t || 426 == t ? 2 : 0;
                if (425 == t) n = n.replace("#", function () {
                    return s._$getCommonEmail(this.__username)
                }._$bind(this));
                s._$showError(null, n, "nerror", r)
            }
        }
    };
    y.__dovfppc = function (e, t) {
        if (!this.__vfLock) {
            this.__vfLock = 1;
            this.__addOnlyPhone(e);
            r._$request("vfppc", e, this.__vfSuccess._$bind(this, t), this.__vfppcWarn._$bind(this), 1, this.__product)
        }
    };
    y.__setError = function (e) {
        s._$showError(null, e, "nerror")
    };
    y.__vfppcWarn = function (e) {
        this.__vfLock = 0;
        var t = e.ret;
        if (e) if ("494" == t || "493" == t) {
            if ("494" == t) {
                this.__ppcCos = e.cos || "";
                this.__ppcModule.__setCoord(this.__ppcCos)
            }
            this.__ppcModule.__clearInpt();
            this.__setError("验证码验证错误，请重新输入坐标对应数字")
        } else if ("501" == t || "500" == t) this.__showFail(t); else {
            if ("412" == t) this.__ppcError = "密保卡验证错误次数过多，请改天再试"; else if ("492" == t) this.__ppcError = "帐号未绑定密保卡"; else {
                var i = p[t] || s._$getErrorTxt(e.ret);
                if ("10" == e.dt && "401" == t) i = p["40110"];
                this.__ppcError = i
            }
            this.__doAction(null, "doback")
        }
    };
    y.__dovfotp = function (e, t) {
        if (!this.__vfLock) {
            this.__vfLock = 1;
            this.__addOnlyPhone(e);
            r._$request("vfotp", e, this.__vfSuccess._$bind(this, t), this.__vfotpWarn._$bind(this), 1, this.__product)
        }
    };
    y.__vfotpWarn = function (e) {
        this.__vfLock = 0;
        var t = e.ret, i;
        if (e) if ("480" == t) {
            this.__otpModule.__clearInpt();
            this.__setError("动态密码错误，请重试");
        } else if ("501" == t || "500" == t) this.__showFail(t); else {
            if ("412" == t) this.__otpError = "将军令验证错误次数过多，请改天再试"; else if ("481" == t) this.__otpError = "尝试次数过多，请稍后再试"; else if ("484" == t) this.__otpError = "帐号未绑定将军令"; else {
                i = p[t] || s._$getErrorTxt(e.ret);
                if ("10" == e.dt && "401" == t) i = p["40110"];
                this.__otpError = i
            }
            this.__doAction(null, "doback")
        }
    };
    y.__doLogin = function () {
        var e = "-103";
        if ("-1" != this.__hasInit) {
            if ("0" == this.__hasInit) s._$showFail("-104");
            if (!this.__doLoginLock) {
                this.__onDoLockLogin({noTxt: 1});
                this.__nameinput.value = s._$emailFilter(this.__nameinput.value);
                this.__loginModule._$stateOK(this.__doLoginCb._$bind(this))
            }
        } else s._$showFail(e, "登录")
    };
    y.__doLoginCb = function (e, t) {
        var i;
        if (this.__loginModule) {
            this.__pass = e;
            this.__errKey = t;
            if (e && this.__hasInit) {
                this.__onDoLockLogin();
                this.__doLoginReal.call(this)
            } else if (1 === this.__errMode) {
                this.__sendMsg({type: "loginstate", state: 0});
                this.__onUnLockLogin();
                if ("email" === t && !this.__nameinput.value) {
                    var n = this.__onlyPhone ? "手机号输入有误" : "请输入帐号";
                    s._$showError(this.__nameinput, n, "nerror")
                } else if ("password" === t && !this.__passwordinput.value) s._$showError(this.__passwordinput, "请输入密码", "nerror"); else if ("tcheckcode" === t && !this.__checkcodeinput.value) s._$showError(this.__checkcodeinput, "请输入图片验证码", "nerror"); else if ("slidecap" === t) {
                    if (this.__loginModule) i = 2 == this.__loginModule.__slideTarget ? window._$capTxt1 : window._$capTxt2;
                    if (this.__capFlag && 1 != this.__capFlag && this.__isNewCapPopup) this.__showCheckCode({capFlag: this.__capFlag}); else s._$showError({name: "slide"}, i, "nerror")
                }
            }
        }
    };
    y.__doLoginReal = function () {
        if (this.__pass && this.__hasInit) {
            s._$timeCount("LOGIN_TIME");
            var e = this.__loginModule._$getValues(), t = {}, i = e[0].trim(), n = e[1];
            t.un = this.__domain ? s._$formatUn(i) + this.__domain : i;
            t.pw = MP.encrypt2(n);
            t.pd = this.__product;
            t.l = this.__unLoginChecked ? 1 : 0;
            t.d = this.__unLoginTime;
            t.t = (new Date).getTime();
            t.pkid = this.__promark;
            this.__username = t.un;
            this.__password = n;
            this.__safeLogin(t)
        }
    };
    y.__safeLogin = function () {
        var e = function (e) {
            var t = [], i = {};
            n._$forEach(e, function (e) {
                if (!i[e]) {
                    i[e] = 1;
                    t.push(e)
                }
            });
            return t
        };
        var t = function (t, i, n) {
            if (n) {
                var s = t.split("@")[1];
                i = i + (i ? "," : "") + s
            }
            i = i.replace("vip.188.com", "188.com");
            var r = i.split(",");
            r = e(r);
            return r.join(",")
        };
        return function (e, i) {
            e.domains = this.__domains || "";
            e.domains = t(e.un, e.domains, this.__autoSuffix);
            if (this.__loginModule && this.__password) this.__loginModule._$setPwd(this.__password);
            if (!i && this.__lazyCheck && 1 == this.__capFlag) {
                this.__dataTemp = e;
                this.__doLazyCheck()
            } else this.__getLoginTicket(e)
        }
    }();
    y.__isPopAndSlide = function () {
        return this.__isNewCapPopup && (4 == this.__capFlag || 5 == this.__capFlag)
    };
    y.__onSlideOk = function () {
        if (this.__isPopAndSlide()) this.__doLogin()
    };
    y.__doLazyCheck = function () {
        var e = this.__loginModule._$getSmsValue();
        if (!this.__checkSmsCodeLock) {
            this.__checkSmsCodeLock = 1;
            var t = this.__nameinput.value.trim();
            t = this.__domain ? s._$formatUn(t) + this.__domain : t;
            var i = {cap: e, pd: this.__product, pkid: this.__promark};
            i.un = t;
            this.__addOnlyPhone(i);
            r._$request("checkSmsCode", i, this.__cbSmsCode._$bind(this), this.__ckSmsCodeEx._$bind(this, "验证码输入错误"), 1, this.__product)
        }
    };
    y.__cbSmsCode = function () {
        this.__checkSmsCodeLock = 0;
        if (this.__dataTemp) this.__getLoginTicket(this.__dataTemp)
    };
    y.__ckSmsCodeEx = function (e, t) {
        this.__checkSmsCodeLock = 0;
        this.__onUnLockLogin();
        this.__loginModule.__ckSmsCodeEx(e, t)
    };
    y.__getLoginTicket = function (e) {
        if (!this.__getTkLock) {
            this.__watchmanFlushTime = (new Date).getTime();
            this.__watchmanToken = "";
            if (this.__needWatchman && window._$URS.wm) window._$URS.wm.getToken("dd0f8e95f1844a20a363b60685225af4", function (e) {
                this.__watchmanToken = e
            }._$bind(this));
            var t = {};
            t.un = e.un;
            t.pkid = this.__promark;
            t.pd = this.__product;
            this.__getTkLock = 1;
            this.__addOnlyPhone(t);
            r._$request("getLoginTicket", t, this.__gltSuccess._$bind(this, e), this.__gltWarn._$bind(this), 1, this.__product)
        }
    };
    y.__addOnlyPhone = function (e) {
        if (this.__onlyPhone) e.mbl = 1
    };
    y.__sendLogin = function (e) {
        if (this.__watchmanToken) e.clientToken = this.__watchmanToken;
        e.tk = this.__tk;
        e.pwdKeyUp = this.__pwdKeyUp || 0;
        this.__addOnlyPhone(e);
        if (window._$pathB) e.b = 1;
        r._$request("safelogin", e, this.__loginSuccess._$bind(this), this.__cbWarn._$bind(this), 1, this.__product)
    };
    y.__gltSuccess = function (e, t) {
        var i;
        this.__getTkLock = 0;
        var n = t.ret;
        this.__tk = t.tk;
        if (201 == n) if (this.__needWatchman && "1" == this.__options.watchMan) if (this.__watchmanToken) this.__sendLogin(e); else this.__watchmanFlushStl = setInterval(function () {
            i = (new Date).getTime() - this.__watchmanFlushTime;
            if (this.__watchmanToken || i > 1e4) {
                this.__watchmanFlushStl = clearInterval(this.__watchmanFlushStl);
                this.__sendLogin(e)
            }
        }._$bind(this), 200); else this.__sendLogin(e); else {
            var r = p[n] || s._$getErrorTxt(t.ret);
            _gaq.push(["_trackEvent", "登录结果", "登录失败", "【" + n + "-gt】" + r]);
            s._$showError(null, r, "nerror")
        }
    };
    y.__gltWarn = function (e) {
        this.__sendMsg({type: "loginstate", state: 0});
        this.__onUnLockLogin();
        this.__getTkLock = 0;
        var t = e.ret || 0;
        var i = e.dt || "";
        var n = p[t] || s._$getErrorTxt(e.ret);
        if ("10" == i && "401" == t) n = p["40110"];
        _gaq.push(["_trackEvent", "登录结果", "登录失败", "【" + t + "-" + i + "】" + n]);
        if ("441" != t && "444" != t && "445" != t) s._$showError(null, n, "nerror")
    };
    y.__setLlpTime = function () {
        s._$showError(0, '已开启登录保护，请打开<a class="u-llp-color1" style="color:#2c85ff;" href="https://id.163.com/gj/?from=webzj" target="_blank">网易帐号管家</a>完成验证   <span class="u-llp-color2" style="color:#2c85ff;">' + this.__llpNumber + '</span>秒后超时。<a class="u-llp-color3" style="color:#2c85ff;" href="https://id.163.com/gj/faq/s/p_o.html?ct=1&from=webzj" target="_blank">无法收到验证消息?</a>', "nerror", 3)
    };
    y.__lockLoginState = function () {
        if (!this.__isAppSafe) {
            this.__isAppSafe = 1;
            this.__nameinput.disabled = !0;
            this.__passwordinput.disabled = !0;
            if (this.__checkcodeinput) this.__checkcodeinput.disabled = !0;
            if (this.__pwdtext) this.__pwdtext.disabled = !0;
            this.__onDoLockLogin({txt: "取消登录"});
            setTimeout(function () {
                this.__llpNumber = 120;
                this.__setLlpTime();
                this.__safeItl2 = clearInterval(this.__safeItl2);
                this.__safeItl = clearInterval(this.__safeItl);
                this.__safeItl2 = setInterval(this.__setSafeItl._$bind(this), C);
                this.__startllp = 0;
                this.__safeItl = setInterval(this.__doCheckLlp._$bind(this), w);
                t._$dataset(this.__loginBtn, "action", "dounlocklogin")
            }._$bind(this), 200)
        }
    };
    y.__setSafeItl = function () {
        this.__llpNumber--;
        if (this.__llpNumber < 0) this.__safeItl2 = clearInterval(this.__safeItl2); else this.__setLlpTime()
    };
    y.__doCheckLlp = function () {
        this.__startllp++;
        var e = this.__checkLlpTimeout();
        if (!e) {
            var t = {uuid: this.__uuid, pd: this.__product, pkid: this.__promark, un: this.__username};
            this.__addOnlyPhone(t);
            r._$request("llp", t, this.__llpOK._$bind(this), this.__llpFail._$bind(this), 1, this.__product)
        }
    };
    y.__checkLlpTimeout = function () {
        if (this.__startllp > 59) {
            this.__unLockLoginState(1);
            setTimeout(function () {
                s._$showError(null, "登录验证超时，请重新登录", "nerror", 2)
            }, 200);
            return 1
        }
        return 0
    };
    y.__llpFail = function (e) {
        var t = e.ret;
        if ("401" == t) {
            this.__unLockLoginState(1);
            setTimeout(function () {
                s._$showError(null, "登录验证超时，请重新登录", "nerror", 2)
            }, 200)
        }
        if ("446" == t) {
            this.__unLockLoginState(1);
            setTimeout(function () {
                s._$showError(null, "网易帐号管家已拒绝本次登录", "nerror", 2)
            }, 200)
        }
        if (t && "438" != t) {
            this.__unLockLoginState(1);
            var i = p[t] || s._$getErrorTxt(t);
            setTimeout(function () {
                s._$showError(null, i, "nerror")
            }, 200)
        }
    };
    y.__llpOK = function (e) {
        var t = e.ret;
        if ("201" == t) {
            this.__safeItl2 = clearInterval(this.__safeItl2);
            this.__safeItl = clearInterval(this.__safeItl);
            this.__loginSuccess(e)
        }
    };
    y.__unLockLoginState = function (e) {
        this.__safeItl2 = clearInterval(this.__safeItl2);
        this.__safeItl = clearInterval(this.__safeItl);
        this.__isAppSafe = 0;
        e = e || 0;
        this.__doBack(e);
        this.__onUnLockLogin();
        t._$dataset(this.__loginBtn, "action", "dologin")
    };
    y.__setDomainsOk = function (e) {
        if (!(e.mode && (e.mode.mode || "0" == e.mode.mode) && this.__options.version && this.__options.version > 1)) if (e.unprotectedGuide) {
            this.__onUnLockLogin();
            this.__showLeak(3)
        } else if (e.safeMobileGuide) {
            this.__onUnLockLogin();
            this.__showLeak(4, e)
        } else this.__setDomains({type: "success", username: this.__username || "", k: this.__tempK}); else {
            this.__onUnLockLogin();
            this.__showMode(e.mode)
        }
    };
    y.__loginSuccess = function (e) {
        this.__tempK = e && e.k || "";
        if (e && "201" == e.ret && !e.nextUrls && !e.mode && !e.unprotectedGuide) this.__sendMsg({
            type: "loginstate",
            state: 1,
            username: this.__username
        }); else this.__sendMsg({type: "loginstate", state: 0});
        this.__pwdKeyUp = 0;
        _gaq.push(["_trackEvent", "登录结果", "登录成功", "【登录成功】from:" + this.__product + ",domain:" + this.__username.substring(this.__username.indexOf("@"))]);
        var t = s._$timeCountEnd("LOGIN_TIME");
        if (t > 0) {
            _gaq.push(["_trackEvent", "登录效率", "耗时【" + 50 * Math.ceil(t / 50) + "ms】", "详细耗时【" + t + "ms】"]);
            t = -1
        }
        if (!this.__onlyPhone) c._$cookie("THE_LAST_LOGIN", {value: this.__username, expires: 30, path: "/"});
        if (e && e.nextUrls) this.__setDomains({
            type: "fksuccess",
            username: this.__username || "",
            nextUrls: e.nextUrls
        }, e); else this.__setDomainsOk(e)
    };
    y.__doVerifyOk = function (e, t) {
        var i = {};
        if (!this.__doVfoLock) {
            this.__doVfoLock = 1;
            i.un = this.__username;
            i.pd = this.__product;
            i.pkid = this.__promark;
            i.mb = e;
            i.sms = t;
            this.__addOnlyPhone(i);
            r._$request("vfmbsms", i, this.__vfmbsmsOk._$bind(this), this.__vfmbsmsFail._$bind(this), 1, this.__product)
        }
    };
    y.__vfmbsmsOk = function () {
        var e = {};
        this.__doVfoLock = 0;
        e.un = this.__username;
        e.pw = MP.encrypt2(this.__password || "0");
        e.pkid = this.__promark;
        e.pd = this.__product;
        e.l = this.__unLoginChecked ? 1 : 0;
        e.d = this.__unLoginTime;
        if (this.__verifyMobileModule) this.__verifyMobileModule = this.__verifyMobileModule._$recycle();
        this.__doAction(null, "doback", 1);
        this.__safeLogin(e, 1)
    };
    y.__vfmbsmsFail = function (e) {
        this.__doVfoLock = 0;
        var t = e.ret, i = e.dt || "";
        if (e) if ("401" == t && "09" == i) s._$showError(null, "手机号格式错误", "nerror"); else if ("401" == t || "500" == t) {
            if ("10" == e.dt && "401" == t) t = "40110";
            s._$showError(null, p[t], "nerror")
        } else if ("412" == t) s._$showError(null, "验证码错误次数过多，请改天再试", "nerror"); else {
            var n = p[t] || s._$getErrorTxt(e.ret);
            if ("430" == t) {
                if (this.__verifyMobileModule) this.__verifyMobileModule = this.__verifyMobileModule._$recycle();
                this.__doBack({errorTxt: n});
                return
            }
            if (t) s._$showError(null, n, "nerror")
        }
    };
    y.__cbWarn = function (e) {
        this.__tempK = e && e.k || "";
        var t;
        this.__sendMsg({type: "loginstate", state: 0});
        this.__pwdKeyUp = 0;
        this.__onUnLockLogin();
        var i = e.ret, n = e.pp || 0;
        if ("438" != i) {
            if ("408" == i) s._$showError(0, '已开启登录保护，请打开<a class="u-app-color" style="color:#2c85ff;" href="https://id.163.com/gj/?from=webzj" target="_blank">网易帐号管家</a>绑定帐号并重新登录验证', "nerror", 3); else if (e) {
                if (e.nextUrls) this.__setDomains({
                    type: "fksuccess",
                    username: this.__username || "",
                    nextUrls: e.nextUrls
                });
                if (e.mode && (e.mode.mode || "0" == e.mode.mode) && this.__options.version && this.__options.version > 1 && ("427" != i || "427" == i && 3 == this.__options.version)) {
                    this.__showMode(e.mode);
                    return
                } else if ("421" == i) {
                    this.__showLeak(5, e);
                    return
                }
                if ("423" == i) {
                    _gaq.push(["_trackEvent", "登录结果", "登录异常", "【423】风控帐号"]);
                    this.__showLeak(1, e)
                } else if ("428" == i) {
                    _gaq.push(["_trackEvent", "登录结果", "登录异常", "【428】标记帐号"]);
                    this.__showLeak(2)
                } else if ("427" == i) {
                    this.__showLeak(6, e);
                    return
                } else if ("401" == i) {
                    t = p[i] || s._$getErrorTxt(e.ret);
                    if ("10" == e.dt) t = p["40110"];
                    _gaq.push(["_trackEvent", "登录结果", "登录失败", "【401-" + (e.dt || "00") + "】参数错误"]);
                    s._$showError(null, t, "nerror")
                } else if ("501" == i) {
                    _gaq.push(["_trackEvent", "登录结果", "登录异常", "【501】"]);
                    this.__showFail(i)
                } else if ("500" == i) {
                    _gaq.push(["_trackEvent", "登录结果", "登录异常", "【500】"]);
                    this.__showFail(i)
                } else {
                    if (e.dt) i = i + "-" + e.dt;
                    if (n && ("403" == i || "429" == i || "412-01" == i || "413-01" == i || "413-03" == i || "414-01" == i || "417-01" == i || "418-01" == i || "419-01" == i || "419-02" == i || "405" == i)) {
                        var a = this.__loginModule._$getValues(), o = {}, c = a[0].trim();
                        o.un = this.__domain ? s._$formatUn(c) + this.__domain : c;
                        o.pd = this.__product;
                        o.pkid = this.__promark;
                        this.__addOnlyPhone(o);
                        r._$request("getPP", o, this.__getPPSuccess._$bind(this, i), this.__getPPWarn._$bind(this, i), 1, this.__product)
                    } else if (i) {
                        t = p[i] || s._$getErrorTxt(e.ret);
                        var _ = 424 == i || 425 == i || 426 == i || 422 == i || 602 == i ? 2 : 0;
                        if (425 == i) t = t.replace("#", function () {
                            return s._$getCommonEmail(this.__username)
                        }._$bind(this));
                        _gaq.push(["_trackEvent", "登录结果", "登录失败", "【" + i + "】" + t]);
                        if ("441" != i && "444" != i && "445" != i) s._$showError(null, t, "nerror", _); else if ("444" == i || "445" == i) s._$showError({name: "slide"}, t, "nerror", _); else if ("441" == i) s._$showError(this.__checkcodeinput, t, "nerror", _)
                    }
                }
                var d = s._$timeCountEnd("LOGIN_TIME");
                if (d > 0) {
                    _gaq.push(["_trackEvent", "登录效率", "耗时【" + 50 * Math.ceil(d / 50) + "ms】", "详细耗时【" + d + "ms】"]);
                    d = -1
                }
            }
            this.__capFlag = e.capFlag || this.__capFlag;
            if (this.__isNewCapPopup) {
                if ("441" == i || "444" == i || "445" == i) this.__showCheckCode(e); else if (1 == this.__capFlag) this.__showCheckCode(e); else if (4 == this.__capFlag || 5 == this.__capFlag) this.__loginModule._$setNeedCheckCode()
            } else this.__showCheckCode(e)
        } else {
            this.__uuid = e.uuid || 0;
            this.__lockLoginState()
        }
    };
    y.__getPPSuccess = function (e, i) {
        var n = i.ret;
        if (201 == n) {
            var r = i.yz;
            if (1 == r) {
                var a = i.mb;
                this.__showPhoneModule(a);
                t._$addClassName(this.__footer, "f-dn");
                this.__onpage = "pp_phone"
            } else if (2 == r) {
                this.__showOTPModule();
                t._$addClassName(this.__footer, "f-dn");
                this.__onpage = "pp_otp"
            } else if (3 == r) {
                this.__ppcCos = i.cos || "";
                this.__showPPCModule(this.__ppcCos);
                t._$addClassName(this.__footer, "f-dn");
                this.__onpage = "pp_ppc"
            } else if (4 == r) if (this.__options.version && this.__options.version > 1) {
                this.__clearModule();
                this.__verifyMobileModule = v._$$VerifyMobile._$allocate({
                    onlyPhone: this.__onlyPhone,
                    parent: this.__cnt,
                    un: this.__username,
                    promark: this.__promark,
                    product: this.__product,
                    onhidefooter: this.__hideFooter._$bind(this),
                    onback: this.__doBack._$bind(this),
                    onVerifyOk: this.__doVerifyOk._$bind(this),
                    onfail: this.__showFail._$bind(this)
                });
                this.__onpage = "pp_vmb"
            } else this.__getPPWarn(e, i); else this.__getPPWarn(e, i);
            s._$resize()
        } else this.__getPPWarn(e, i)
    };
    y.__getPPWarn = function (e, t) {
        if (434 == t.ret || 435 == t.ret || 436 == t.ret || 437 == t.ret) e = t.ret;
        var i = p[e] || s._$getErrorTxt(t.ret);
        if ("401" == t.ret && "10" == t.dt) i = p["40110"];
        _gaq.push(["_trackEvent", "登录结果", "登录失败", "【" + e + "】" + i]);
        s._$showError(null, i, "nerror", 0)
    };
    y.__showCheckCode = function (e) {
        var t;
        if (this.__loginModule) if (e) {
            if (e.capFlag) {
                e.ret = "44" + e.capFlag;
                t = 1
            }
            if ("441" == e.ret) {
                _gaq.push(["_trackEvent", "登录结果", "登录异常", "【411】需要图片验证码"]);
                this.__capFlag = 1;
                t = t || "请输入图片验证码";
                this.__loginModule.__ckSmsCodeEx(t, e)
            } else if ("444" == e.ret) {
                _gaq.push(["_trackEvent", "登录结果", "登录异常", "【444】需要滑块验证码"]);
                this.__capFlag = 4;
                t = t || window._$capTxt1;
                this.__loginModule.__ckSmsCodeEx(t, e)
            } else if ("445" == e.ret) {
                _gaq.push(["_trackEvent", "登录结果", "登录异常", "【445】需要点击验证码"]);
                this.__capFlag = 5;
                t = t || window._$capTxt2;
                this.__loginModule.__ckSmsCodeEx(t, e)
            } else if (this.__loginModule.__needSlideCap || this.__loginModule.__needCheckCode) {
                var i = "44" + (this.__loginModule.__needSlideCap ? 2 == this.__loginModule.__slideTarget ? "4" : "5" : "1");
                t = 1;
                e = {ret: i};
                this.__loginModule.__ckSmsCodeEx(t, e)
            }
        }
    };
    y.__hideCheckCode = function () {
        this.__loginModule._$hideCheckCode()
    };
    y.__getCheckCode = function () {
        this.__loginModule._$getCheckCode()
    };
    y.__showPhoneModule = function (e) {
        var t = this.__loginModule._$getValues(), i = {}, n = t[0].trim();
        i.un = this.__domain ? s._$formatUn(n) + this.__domain : n;
        i.pd = this.__product;
        i.pkid = this.__promark;
        this.__clearModule();
        if (!this.__phoneModule) this.__phoneModule = d._$$Phone._$allocate({
            opts: this.__options,
            parent: this.__cnt,
            data: i,
            mb: e,
            doback: this.__doBack._$bind(this)
        })
    };
    y.__showOTPModule = function () {
        var e = this.__loginModule._$getValues(), t = {}, i = e[0].trim();
        t.un = this.__domain ? s._$formatUn(i) + this.__domain : i;
        t.pd = this.__product;
        t.pkid = this.__promark;
        this.__clearModule();
        if (!this.__otpModule) {
            var n = f._$$OTP._$allocate({parent: this.__cnt, data: t});
            this.__otpModule = n
        }
    };
    y.__showPPCModule = function (e) {
        var t = this.__loginModule._$getValues(), i = {}, n = t[0].trim();
        i.un = this.__domain ? s._$formatUn(n) + this.__domain : n;
        i.pd = this.__product;
        i.pkid = this.__promark;
        i.coord = e;
        this.__clearModule();
        if (!this.__ppcModule) {
            var r = h._$$PPC._$allocate({parent: this.__cnt, data: i});
            this.__ppcModule = r
        }
    };
    y.__showQrcodeModule = function () {
        this.__clearModule();
        var e = t._$getByClassName(this.__box, "j-headimg")[0];
        if (!this.__qrcodeModule && "qrcode" != this.__onpage) {
            e.style.display = "none";
            this.__qrcodeModule = l._$$QrcodeManager._$allocate({
                fromModule: this.__moduleType,
                parent: this.__cnt,
                opts: this.__options,
                product: this.__product,
                prdomain: this.__domain,
                toolName: this.__toolName,
                toolUrl: this.__toolUrl,
                sendmsg: this.__setDomains._$bind(this)
            });
            this.__onpage = "qrcode";
            t._$addClassName(this.__qrm, "pc")
        } else {
            e.style.display = "block";
            this.__doBack(1);
            this.__onpage = "login";
            t._$delClassName(this.__qrm, "pc")
        }
    };
    y.__showFail = function (e) {
        _gaq.push(["_trackEvent", "异常", "登录异常", "异常【" + (p[e] || "未知异常" + e) + "】"]);
        this.__super(e)
    };
    y.__showOtpOrPPcError = function () {
        if (this.__otpError) {
            this.__errMsg = 1;
            s._$showError(null, this.__otpError, "nerror");
            this.__otpError = null
        }
        if (this.__ppcError) {
            this.__errMsg = 1;
            s._$showError(null, this.__ppcError, "nerror");
            this.__ppcError = null
        }
        if (this.__phoneError) {
            this.__errMsg = 1;
            s._$showError(null, this.__phoneError, "nerror");
            this.__phoneError = null
        }
    };
    y.__showFail3 = function (e, t) {
        var i = t && t.ret || "0";
        var n = this.__host || "未知产品";
        var r = window._$BGP ? "dl2失败" : "dl失败";
        _gaq.push(["_trackEvent", "初始化失败" + window._$PKID, r + "code:" + i, "e1ee1"]);
        this.__hasInit = 0;
        _gaq.push(["_trackEvent", "登录步骤", "【" + i + "】初始化", "初始化失败,from:" + n]);
        if ("3" != window._$URSOPT.version || !window._$URSOPT.from3Cdn) if (window._$needUrsBgp) if (!window._$BGP && ("0" == i || "-1" == i || "-2" == i)) {
            window._$BGP = 1;
            setTimeout(this._$doRefresh._$bind(this), 200);
            return
        }
        if ("-401" != i) {
            this.__showOtpOrPPcError();
            this.__showFail(i)
        } else {
            s._$showError(0, s._$get401Error(), "nerror");
            window._$needCookieSet = 1
        }
    };
    y.__showLeak = function (e, t) {
        _gaq.push(["_trackEvent", "异常", "登录异常", "异常"]);
        this.__super(e, t);
        s._$resize()
    };
    y._$doToggleLock = function (e, i) {
        if (e) {
            t._$addClassName(this.__mainBtn, i);
            t._$dataset(this.__mainBtn, "lock", 1)
        } else {
            t._$delClassName(this.__mainBtn, i);
            t._$dataset(this.__mainBtn, "lock", 0)
        }
    };
    y._$doLoginProxy = function () {
        var e = function (e, t) {
            this.__loginModule._$setUsername(e);
            this.__loginModule._$setPwd(t);
            this.__doAction(null, "dologin")
        };
        return function (i) {
            var n = i.username, s = i.pwd, r = i.defaultUnLogin;
            this.__defaultUnLogin = r;
            this.__unLoginChecked = this.__defaultUnLogin;
            if (this.__unLoginChecked) t._$addClassName(t._$getByClassName(this.__box, "u-checkbox")[0], "u-checkbox-select"); else t._$delClassName(t._$getByClassName(this.__box, "u-checkbox")[0], "u-checkbox-select");
            if (this.__loginModule) e.call(this, n, s); else {
                this.__module = "goEmailLogin";
                this.__doBack();
                e.call(this, n, s)
            }
        }
    }()
}, "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "0d434f17f93250948578c8948f9f01bf", "4dadb2ee6ba889b538cf0977b4b3cad0", "b07a20e1d9be763162954dd0fcf2feb3", "83c67d5b20eeffc1f687e113ae22189f", "f4dec1b84700c9cc21c1a3746102e1f6", "7aae1cf82be47f0be5a277c5829eb8e4", "df416050c2dc183b66d58f7a1dd85123", "97b23dfde6b699429cf1206e6d4cc4e7", "2f78a9e6c44dc780264106119e13a727", "5ff7df89658ea00701caab652836d5ac", "8bdf4bf336ac3e80c5ba9eaf2a14b550", "24009e123f5588d3e0d561f49177981a", "8fbb863276f6e70b6bebef7ceadbfc67", "f635d10c8380eb5c0f2520c4a555bf57", "605054bf841321ed40d652370c40f4e5");
I$("7a040d0f0a58d780ab5949c8cfb99e7f", function (e, t, i, n, s, r, a, o, c, _, d, f, h, l, u, p, m, v) {
    window._$URS = {};
    var g, b, $ = {1: "red", 2: "orange", 3: "green", 4: "blue"};
    a._$parseTemplate("jst-template");
    u._$$Index = t._$klass();
    g = u._$$Index._$extend(r._$$EventTarget);
    g.__init = function (e) {
        this.__super(e);
        this.__loadConfig(e);
        n._$addEvent(document, "click", this.__changePage._$bind(this))
    };
    g.__reset = function (e) {
        this.__super(e)
    };
    g.__destroy = function () {
        this.__super()
    };
    g.__doClose = function () {
        var e = {type: "close"};
        e["URS-CM"] = 1;
        d._$postMessage("_parent", {data: e})
    };
    g.__addWatchMan = function () {
        var e = document.createElement("script");
        e.type = "text/javascript";
        e.src = "//acstatic-dun.126.net/tool.min.js";
        document.getElementsByTagName("head")[0].appendChild(e);
        var t = setInterval(function () {
            if (window.initWatchman) {
                window.initWatchman({
                    productNumber: "YD00000690443311",
                    onload: function (e) {
                        window._$URS.wm = e
                    },
                    __serverConfig__: {
                        configServer: "webzjac.reg.163.com",
                        apiServer: "webzjac.reg.163.com",
                        staticServer: "acstatic-dun.126.net"
                    }
                });
                t = clearInterval(t)
            }
        }, 100)
    };
    g.__loadConfig = function (t) {
        this.__options = t;
        if (t) {
            t.needRegAgree = 1;
            t.needRegAgreeMb = 1;
            if (!t.version || t.version < 2) t.onlyPhone = 0;
            t.single = t.single || 0;
            this.__page = t.page || "login";
            if (t.notFastReg) {
                this.__page = "login";
                t.single = 1
            }
            window._$inputTime = 300;
            window._$URSOPT = t || {};
            if ("3" == t.version) {
                window._$capTxt1 = "请先拖动滑块进行安全验证";
                window._$capTxt2 = "请先进行验证"
            } else {
                window._$capTxt1 = "请滑动滑块验证码";
                window._$capTxt2 = "请点击验证码"
            }
            window._$PRODUCT = t.product || "";
            window._$PKID = t.promark || "";
            window._$TOPURL = t.topURL || "";
            window._$TOPURL = window._$TOPURL.substring(0, 200);
            if ("1" == t.watchMan) this.__addWatchMan();
            window._$pathB = t.pathB || 0;
            window._$needUrsBgp = t.needUrsBgp || 0;
            window._$bgpTime2 = t.bgpTime2 || 1e4;
            window._$readErrHelper = t.readErrHelper || "";
            window._$ISIOS = e._$is("ios");
            this.__addCodeMap();
            d._$configLog(t);
            var i = t.cookieDomain;
            if (i && i.indexOf("dl.reg.163.com") < 0) if (window._$needUrsBgp && t.passportNeedUrsBgp) window._$needUrsBgp = 1; else window._$needUrsBgp = 0;
            window.isHttps = t.isHttps || 0;
            window.PROTOCOL = "http" == t.PROTOCOL ? "http://" : "https://";
            window.REGPROTOCOL = "http" == t.REGPROTOCOL ? "http://" : "https://";
            if (window.isHttps) {
                window.PROTOCOL = "https://";
                window.REGPROTOCOL = "https://"
            }
            this.__loadStyle(t);
            this.__opt = t;
            this.__showPage()
        } else this.__doClose()
    };
    g.__addCodeMap = function () {
        f["-401"] = d._$get401Error();
        f["444"] = window._$capTxt1;
        f["445"] = window._$capTxt2;
        h["109"] = window._$capTxt1;
        h["110"] = window._$capTxt2;
        h["EXCEPTION_GET_TICKET_109"] = window._$capTxt1;
        h["EXCEPTION_GET_TICKET_110"] = window._$capTxt2;
        h["EXCEPTION_REG_MOB_109"] = window._$capTxt1;
        h["EXCEPTION_REG_MOB_110"] = window._$capTxt2;
        h["EXCEPTION_GET_SMS_109"] = window._$capTxt1;
        h["EXCEPTION_GET_SMS_110"] = window._$capTxt2;
        l["mb-nvfcp-444"] = window._$capTxt1;
        l["mb-nvfcp-445"] = window._$capTxt2;
        l["mb-nvftcp-444"] = window._$capTxt1;
        l["mb-nvftcp-445"] = window._$capTxt2;
        l["mb-nvfccp-444"] = window._$capTxt1;
        l["mb-nvfccp-445"] = window._$capTxt2;
        l["mb-nlregssms-444"] = window._$capTxt1;
        l["mb-nlregssms-445"] = window._$capTxt2;
        l["mb-vfcp-444"] = window._$capTxt1;
        l["mb-vfcp-445"] = window._$capTxt2;
        l["mb-vftcp-444"] = window._$capTxt1;
        l["mb-vftcp-445"] = window._$capTxt2;
        l["mb-vfccp-444"] = window._$capTxt1;
        l["mb-vfccp-445"] = window._$capTxt2;
        l["mb-login-444"] = window._$capTxt1;
        l["mb-login-445"] = window._$capTxt2;
        l["mb-lvfsms-444"] = window._$capTxt1;
        l["mb-lvfsms-445"] = window._$capTxt2;
        l["mb-sms-lsm-444"] = window._$capTxt1;
        l["mb-sms-lsm-445"] = window._$capTxt2;
        l["mb-reg-sm-10704"] = window._$capTxt1;
        l["mb-reg-sm-10705"] = window._$capTxt2;
        l["mb-reg-sm-109"] = window._$capTxt1;
        l["mb-reg-sm-110"] = window._$capTxt2;
        l["mb-reg-sm-444"] = window._$capTxt1;
        l["mb-reg-sm-445"] = window._$capTxt2
    };
    g.__loadStyle = function (e) {
        var t = e.skin || "0";
        var n = e.cssFiles || "";
        var s = e.style || "";
        if (s) i._$addStyle(s); else if (!n && 0 != t) {
            t = $[t] || "red";
            var r = document.createElement("link");
            r.rel = "stylesheet";
            r.type = "text/css";
            r.href = "../../webapp/res/css/" + t + ".css";
            document.getElementsByTagName("head")[0].appendChild(r)
        }
    };
    g.__saveTempValue = function (e) {
        var t = i._$get("phoneipt");
        if ("mbRegGoLogin1" == e || "mbRegGoLogin2" == e) if (t && this.__opt) {
            this.__opt.preFilledMobile = t.value || "";
            e = "//webzj.reg.163.com/UA1435545636633/__utm.gif?log=" + encodeURIComponent(e) + "&ssn=" + encodeURIComponent(this.__opt.preFilledMobile) + "&pkid=" + encodeURIComponent(window._$PKID)
        }
        return e
    };
    g.__changePage = function (e) {
        var t = n._$getElement(e), s = i._$dataset(t, "action"), r = i._$dataset(t, "mdtype"),
            a = i._$dataset(t, "log"), o;
        if (a) {
            a = this.__saveTempValue(a);
            d._$sendLog(a)
        }
        d._$doProxyLink(e);
        if ("changepage" == s) {
            this.__mdType = r;
            this.__page = "login" == this.__page ? "register" : "login";
            if ("login" == this.__page && i._$get("VIP")) i._$get("VIP").style.display = "none";
            o = {type: "changepage", page: this.__page, mdtype: this.__mdType || ""};
            o["URS-CM"] = 1;
            d._$postMessage("_parent", {data: o});
            this.__showPage(1)
        }
    };
    g._$LgRefresh = function () {
        this.__page = "login";
        this.__showPage()
    };
    g.__showPage = function (e) {
        d._$hideFail();
        this.__opt.page = this.__page;
        if (e) {
            this.__opt.mobileFirst = this.__mdType ? 1 : 0;
            var t = i._$get("cnt-box-parent");
            i._$addClassName(t, "switching");
            setTimeout(function () {
                i._$delClassName(t, "switching")
            }, 0)
        }
        setTimeout(function () {
            if (this.__lg) this.__lg = this.__lg._$recycle();
            this.__opt.onRefresh = this._$LgRefresh._$bind(this);
            this.__lg = o._$$LoginManager._$allocate(this.__opt);
            if (this.__options.doLoginLockStyle) this._$doToggleLoingLock();
            if (!e) setTimeout(function () {
                d._$postMessage("_parent", {data: {"URS-READY-DONE": 1}})
            }, 150)
        }._$bind(this), 0)
    };
    g._$doToggleLoingLock = function (e) {
        var t = 1;
        if (e) t = e.lock;
        if (this.__lg) this.__lg._$doToggleLock(t, this.__options.doLoginLockStyle)
    };
    g._$doLoginProxy = function (e) {
        if (this.__lg) this.__lg._$doLoginProxy(e)
    };
    n._$addEvent(document, "templateready", function () {
        var e = function (e) {
            var t = e.data;
            if (t) {
                if ("string" == typeof t) try {
                    t = JSON.parse(t)
                } catch (i) {
                }
                if ("object" == typeof t && "URS|" == t.from) if (t.doLoginProxy) b._$doLoginProxy(t); else if (t.fromLoginLock) b._$doToggleLoingLock(t); else if (t.fromRegLock || t.fromLoginLockMb || t.fromRegLockMb) ; else {
                    window.URSCONFIG = t;
                    b = u._$$Index._$allocate(t)
                }
            }
        };
        n._$addEvent(window, "message", e);
        d._$postMessage("_parent", {data: {"URS-READY": 1}})
    })
}, "605054bf841321ed40d652370c40f4e5", "05e56106e22a09a56a1098c586c2bfe9", "d73a726efb8534e8d72defb6cd280a1c", "a0c610891b37112b33fc6ca301b06e01", "0ce1cf574f7be23168d864b3fb81d053", "b75e70b49b58692524630910fc7d379f", "b07a20e1d9be763162954dd0fcf2feb3", "4aa6cf516ea6fc0ac929d28786a3165e", "81bd84a220d8bdd69b7113dbdf701570", "4e3477f1faad0e644cf31bd4765e12dc", "0d434f17f93250948578c8948f9f01bf", "24009e123f5588d3e0d561f49177981a", "2340de615bb0be83782615b5be9a7ef8", "80db439a8709cf21b70d2cc4c6f497b8");*/

function getId() {
    var e = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", t = 32, i = [];
    for (; t-- > 0;) i[t] = e.charAt(Math.random() * e.length);
    return i.join("");
};